10 冒泡排序
思路分析:
核心思想為:
使陣列的當前部分(初始時為原陣列)的最后一個值為最大值(升序)為或最小值(降序)
使最后一個值為最大值的具體操作為(升序):在陣列的當前部分里面每次(從第一個開始)都拿前面一個與后面相相比較,若比后面的值大,就交換,直到前面一個數訪問當前陣列的倒數第二個元素為止,
使最后一個值為最小值的具體操作為(降序):在陣列的當前部分里面每次(從第一個開始)都拿前面一個與后面相相比較,若比后面的值小就交換,直到前面一個數訪問當前陣列的倒數第二個元素為止,
推導程序如下所示:
int[] a={1,2,3,4,5};以a陣列為例,可以得到如下所示的表(以降序為例)
? 
準備作業
//bubble sort的意思是冒泡排序
int[] a={9,8,7,6,5,4};
// int[] a={1,2,3,4,5,6};
// int[] a={1,4,121,4,5,6};
System.out.println("需要排序的原陣列a如下所示:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+"\t");
}
System.out.println();//換行
A.升序
1.核心代碼
//升序
for (int i = 0; i < a.length-1; i++) {
for (int j = 0; j < a.length-1-i; j++) {
if(a[j]>=a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println("排序后的陣列a(升序)如下所示");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+"\t");
}
2.運行截圖



B.降序
1.核心代碼:
//降序
for (int i = 0; i < a.length-1; i++) {
for (int j = 0; j < a.length-1-i; j++) {
if(a[j]<=a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println("排序后的陣列a(降序)如下所示");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+"\t");
}
2.運行截圖



轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/227891.html
標籤:其他
上一篇:Java8 Stream:2萬字20個實體,玩轉集合的篩選、歸約、分組、聚合
下一篇:深入淺出 Java 類加載機制!
