(31)鸡尾酒排序
一种改进的冒泡排序,原理是对要排序的数组进行双向冒泡,双向冒泡排序又称鸡尾酒排序。
原理是:大数向后排,小数向前排。
代码:
#include
using namespace std;
void CockTail(int num[],int n) {int tail = n - 1;int i;for ( i = 0; i < tail;) { //将最小的数排到前面for ( int j =tail; j > i; j--) {if (num[j] < num[j - 1]) {int temp = num[j];num[j] = num[j - 1];num[j - 1] = temp;}}i++; //最小数已排好 向后+1for (int j = i; j num[j + 1]) {int temp = num[j];num[j] = num[j + 1];num[j + 1] = temp;}}tail--; //最大数已排好 向前移动}}
void main(){int num[12] = { 10,6,2,33,15,12,23,76,1,54,22,9 };CockTail(num, 12);for (auto x : num) {cout << x << " ";}cout << endl;system("pause");
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
