您的位置:首页 > 产品设计 > UI/UE

JAVA排序算法实现代码-快速(Quick Sort)排序

2008-11-19 15:41 746 查看

JAVA排序算法实现代码-冒泡(Bubble Sort)排序

/** * JAVA排序算法实现代码-冒泡(Bubble Sort)排序。 * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Test { public static void main(String[] args) { int[] a = { 10, 32, 1, 9, 5, 7, 12, 0, 4, 3 }; System.out.print("排序前: "); for (int i = 0; i < a.length; i++) System.out.printf("%3s", a[i]); System.out.println(); Test test = new Test(); test.bubbleSort(a); System.out.print("排序后: "); for (int i = 0; i < a.length; i++) System.out.printf("%3s", a[i]); System.out.println(); } public void bubbleSort(int[] a) { int len = a.length; System.out.println("数组大小是:" + len); boolean change = false; int temp; int count = 0; for (int i = len; i > 1; i--) { for (int j = 0; j < i - 1; j++) { if (a[j + 1] < a[j]) { temp = a[j + 1]; a[j + 1] = a[j]; a[j] = temp; change = true; count++; } } if (change) { System.out.print("第" + count + "趟交换: "); for (int k = 0; k < len; k++) System.out.print(a[k] + " "); System.out.println(); } } } }
/**
* JAVA排序算法实现代码-冒泡(Bubble Sort)排序。
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
public class Test {
public static void main(String[] args) {
int[] a = { 10, 32, 1, 9, 5, 7, 12, 0, 4, 3 };

System.out.print("排序前: ");

for (int i = 0; i < a.length; i++)
System.out.printf("%3s", a[i]);

System.out.println();

Test test = new Test();
test.bubbleSort(a);

System.out.print("排序后: ");

for (int i = 0; i < a.length; i++)
System.out.printf("%3s", a[i]);

System.out.println();
}

public void bubbleSort(int[] a) {
int len = a.length;

System.out.println("数组大小是:" + len);

boolean change = false;
int temp;
int count = 0;

for (int i = len; i > 1; i--) {
for (int j = 0; j < i - 1; j++) {
if (a[j + 1] < a[j]) {
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
change = true;
count++;
}

}
if (change) {
System.out.print("第" + count + "趟交换:  ");
for (int k = 0; k < len; k++)
System.out.print(a[k] + " ");

System.out.println();
}
}
}
}


运行结果

排序前: 10 32 1 9 5 7 12 0 4 3

数组大小是:10

第8趟交换: 10 1 9 5 7 12 0 4 3 32

第15趟交换: 1 9 5 7 10 0 4 3 12 32

第20趟交换: 1 5 7 9 0 4 3 10 12 32

第23趟交换: 1 5 7 0 4 3 9 10 12 32

第26趟交换: 1 5 0 4 3 7 9 10 12 32

第29趟交换: 1 0 4 3 5 7 9 10 12 32

第31趟交换: 0 1 3 4 5 7 9 10 12 32

第31趟交换: 0 1 3 4 5 7 9 10 12 32

第31趟交换: 0 1 3 4 5 7 9 10 12 32

排序后: 0 1 3 4 5 7 9 10 12 32
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐