氣泡排序:
1、第乙個和第二個元素依次比較,如果前乙個大於後乙個則,將兩個元素的值交換,後乙個元素再與下乙個元素進行比較,直到最後乙個元素。此時得到的最後乙個元素將是陣列中最大的元素。最大的元素固定,不在進行比較操作;
2、再從第乙個第二個開始依次比較,如果前乙個大於後乙個則,將兩個元素的值交換,後乙個元素再與下乙個元素進行比較,直到倒數第二個元素。此時得到的倒數第二個元素是陣列中第二大的元素,這個元素也固定,不在進行比較操作;
3、按照上述規則一直操作,直到確定最小元素位為止;得到的結果將是按照從小到大順序排列的陣列;
**如下:
public class bubblesort
}length--;
system.out.println("分次結果:"+arrays.tostring(forsort) +", length="+ length);
sort(forsort, length);
}return forsort;
}public static void main(string args) ;
array = sort(array, array.length-1);
system.out.println("最後結果:"+arrays.tostring(array)+",num="+num);}}
執行結果如下:
分次結果:[2, 5, 6, 5, 4, 6, 8, 4, 9, 9], length=8
分次結果:[2, 5, 5, 4, 6, 6, 4, 8, 9, 9], length=7
分次結果:[2, 5, 4, 5, 6, 4, 6, 8, 9, 9], length=6
分次結果:[2, 4, 5, 5, 4, 6, 6, 8, 9, 9], length=5
分次結果:[2, 4, 5, 4, 5, 6, 6, 8, 9, 9], length=4
分次結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9], length=3
分次結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9], length=2
分次結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9], length=1
分次結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9], length=0
最後結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9],num=36
氣泡排序學習
演算法思想反覆掃瞄待排序記錄的序列,在掃瞄的過程中順次比較相鄰的兩個元素大小,若如需就交換位置。to change this license header,choose license headers in project properties.to change this template fil...
排序學習之 氣泡排序
原理 對一組資料,比較相鄰資料的大小,將值小資料在前面,值大的資料放在後面。以下都是公升序排列,即從小到大排列 舉例說明 arr array 6,3,8,2,9,1 arr 有6個資料,按照兩兩比較大小如下,注意 比較輪數 和 每輪比較次數 第一輪排序 第一次比較 6和3比較 結果 3 6 8 2 ...
氣泡排序再學習改進氣泡排序(c )
編譯器 dev c 5.11 includeusing namespace std int main for int i 0 i 10 i for int j 0 j 10 i 1 j for int i 0 i 10 i cout compilation results.errors 0 warn...