氣泡排序 選擇排序 插入排序

2021-09-29 03:31:40 字數 1546 閱讀 1186

一、氣泡排序

第一趟比較完成後,最後乙個數一定是陣列中最大的乙個數,

所以第二趟比較的時候最後乙個數不參與比較;

第二趟比較完成後,倒數第二個數也一定是陣列中第二大的數,所以第三趟比較的時候最後兩個數不參與比較;

依次類推,每一趟比較次數-1;

二、選擇排序

在要排序的一組數中,選出最小(或者最大)的乙個數與第1個位置的數交換;然後在剩下的數當中再找最小(或者最大)的與第2個位置的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後乙個數)比較為止。

思路:每一趟排序獲得最小數的方法:

for迴圈進行比較,定義乙個第三個變數

temp

,首先前兩個數比較,把較小的數放在

temp

中,然後用

temp

再去跟剩下的資料比較,如果出現比

temp

小的資料,就用它代替

temp

中原有的資料

三、插入排序

從第乙個元素開始,該元素可以認為已經被排序

取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

如果該元素(已排序)大於新元素,將該元素移到下一位置

重複步驟 3,直到找到已排序的元素小於或者等於新元素的位置

將新元素插入到該位置後

重複步驟 2~5

a[j + 1] = insertnote;// 直到要插入的元素不小於第j個元素,將insertnote插入到陣列中

}system.out.print("插入排序: ");

for(int m:a)

system.out.println();

}public static void selectsort(int a)

}//內迴圈結束後,即找到最小值後,進行交換

if (flag != i)

}system.out.print("選擇排序: ");

for(int m:a)

system.out.println();

}public static void bubblesort(int arr)

}} system.out.print("氣泡排序: ");

for(int m:arr)

system.out.println();

}}

氣泡排序,選擇排序,插入排序

氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。1 氣泡排序 packagedatastrut public classbubblesort public voidinsert longvalue...

選擇排序 , 插入排序 , 氣泡排序

編寫 include void println int array,int len 列印給定長度的陣列 printf n void swap int array,int i,int j 交換陣列中兩個位置的元素 void selectionsort int array,int len o n n 對...

氣泡排序 插入排序 選擇排序

氣泡排序是每輪比較未排序部分,從第乙個元素開始找最值,比較相鄰數字,依次往後推移,最終將最值置於最右。假設有n個數,外迴圈迴圈n 1遍,內迴圈是n 1在減去當前是第幾次外迴圈。void bubble sort mytype a,int n n為陣列長度 插入排序是從第二個元素開始快取,然後向前比較,...