氣泡排序 插入排序

2021-10-10 00:16:36 字數 1339 閱讀 8940

學習思路:

思路講解

**實現

1、通過雙重迴圈,相鄰兩個資料做對比,通過位置交換使其變得有序

2、時間複雜度:

分析

解釋:外部迴圈從0開始i

內部迴圈從0開始j,完整迴圈後會將本次最大值放入陣列最後,下次迴圈可忽略相應的尾部資料(length-i-1)

重複1、2步即可完成排序

**實現

public class bubblesort 

}//如果內部迴圈沒有需要互動的資料那麼代表資料已經是有序的了

if (!flag)

} }public static void main(string args) ;

// int items=;

// int items=;

sort.sort(items);

system.out.println(json.tojsonstring(items));

}

時間複雜度:最好的情況就是完全有序的情況下為:o(n)

空間複雜度:冒泡資料交換演算法只會有乙個記憶體占用:o(1)

1、外部迴圈從下標為1的資料開始往後迴圈(因為要將小的放當前數的前面,所以0沒有對比的)

2、內迴圈從外迴圈的當前資料依次往前迴圈對比

3、如果當前值比前乙個值小則往前移動

分析

解釋:外層迴圈從1開始

將當前值(1的位置)提出作為基準值對比

內層迴圈從1往前與基準值對比,如果大於基準值,將對比值往後移動(對標圖第二行)

如果小於將基準值放入移動後空出的位置(對標圖第三行)

依此迴圈完畢

**實現

public class insertionsort else 

}//將基準值插入到空出的位置

氣泡排序,插入排序

前提 void x sort elementtype a,int n 大多數情況下,為簡單起見,討論從小大的整數排序 n是正整數 只討論基於比較的排序 有定義 只討論內部排序 穩定性 任意兩個相等的資料,排序前後的相對位置不發生改變 沒有一種排序是任何情況下 都表現最好的 氣泡排序 void bub...

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

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

排序演算法 氣泡排序 插入排序

氣泡排序 步驟1 從第乙個元素開始與它的下乙個元素比較,如果比下乙個元素大,交換兩個元素的位置 如果小於或者相等,保持不變。每次交換可以保證有序的佇列長度增加1。步驟2 重複步驟1,一直到整個佇列全部有序為止。比如對於序列5,4,3,2,1,經過第一次交換後佇列改變為 4,3,2,1,5 第二次交換...