改进的冒泡排序

来源:互联网 发布:遇到网络诈骗怎么报警 编辑:程序博客网 时间:2024/04/29 20:04

传统的冒泡是从左到右冒泡,改进为两边同时冒泡,边界值做标记当left>right时排序终止。


public class MyMain {



public static void main(String[] args) {


int a[] = { 3, 21, 1, 4, 7, 6, 9, 11, 22, 43, 56, 78,0,-1 };
int len = a.length;
int left = 0;
int right = a.length - 1;
for (int i = 0; i < len; i++) {
int r = len - i - 1;
int l = i;
if (l < r) {
for (int j = 0, k = len - i - 1; k > i && j < len - i - 1; j++, k--) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
if (a[k - 1] > a[k]) {
int tt = a[k - 1];
a[k - 1] = a[k];
a[k] = tt;
}
}
}
}


for (int i = 0; i < len; i++)
System.out.print(a[i] + ",");


}


}
原创粉丝点击