C语言 鸡尾酒排序(双向冒泡)
C语言 鸡尾酒排序(双向冒泡)
===============================
1.代码
void swap(int &a, int &b) //引用类型方式 { int temp; //辅助变量 temp = a; a = b; b = temp; } void bubble_sort(int[] a) { int n = a.length; bool flag = true; int left = 0; int right = n-1; int index; for(int i=0;i<n-1;i++) { flag = true; index = right; for(int j=left;j<index;j++) { if(a[j]>a[j+1]) { swap(a[j], a[j+1]); flag = false; right = j; } } if(flag) break; flag = true; index = left; for(int j=right-1;j>index;j--) { if(a[j-1]>a[j]) { swap(a[j], a[j-1]); flag = false; left = j; } } if(flag) break; } }
浙公网安备 33010602011771号