基礎演算法(一) 選擇排序和氣泡排序

2021-07-05 05:32:05 字數 550 閱讀 1710

選擇排序:

原理:從陣列的第乙個元素開始,向後比較陣列中的每乙個元素,找出最小的值放在當前的陣列位置。將陣列中第乙個位置放入最小元素後,開始選擇陣列第二個位置的元素,即次小值,以此類推。

①每次比較都進行交換:

for(int i=0;i    for(int j=i+1;jif(arr[i]>arr[j])}}

②每次記錄下標然後選擇最小值交換(省時):

int i,j,smallest;

for(i=0;iarr[j])

}int temp = arr[i];

arr[i] = arr[smallest];

arr[smallest] = temp;

}氣泡排序:

氣泡排序輸入交換排序,原理:不停地比較相鄰的記錄,如果不滿足排序要求,就交換相鄰記錄。

一趟過去後,最大或最小的數字被交換到了最後一位,然後再從頭開始進行兩兩比較交換,直到倒數第二位時結束。

for(int i=0;i    for(int j=arr.length-1;j>i;j--)}}

排序演算法 冒泡和選擇排序

氣泡排序的基本思想是 通過對待排序序列從前向後 從下標較小的元素開始 依次比較 相鄰元素的值,若發現逆序則交換,使值較大的元素逐漸從前移向後部,就象水底下的氣泡一樣逐漸向上冒。氣泡排序演算法 public static int maopaosort int initial return initia...

演算法基礎 氣泡排序,選擇排序和插入排序

從a index 0 開始比較a 0 和a 1 按照程式給定判斷是否交換位置,然後a 1 和a 2 比較,一直到a max 此時a max 一定是要求的最大或者最小,下一次迴圈不需要再比較,所以length i。5,4,3,2,1 第一次 4,3,2,1,5 第二次 3,2,1,4,5 第三次 2,...

排序演算法 冒泡和選擇

最近複習一下排序演算法,從簡單的開始,陸續寫上來 一 氣泡排序 氣泡排序總的平均時間複雜度為 import random def bubblesort arr for i in range 0,len arr for j in range i 1,len arr if arr i arr j tem...