3分鐘學會氣泡排序

2021-10-23 01:11:21 字數 611 閱讀 8272

思路:

兩個元素比較,大的放到右邊

從頭開始依次比較相鄰的兩個元素,目的是找出最大的乙個元素放到末尾,這個元素不再參與比較

第二次仍然從頭開始,把第二大的元素放到正確的位置

一共比較 len -1 趟,因為已經確定了 len -1 個元素的位置,那麼第 n 個肯定是最小的那個了

第 i 趟的比較次數為 len - i -1,因為每次都會和下乙個元素比較

當兩個元素相等時不交換,是穩定的排序演算法

優化:當某一趟沒有進行任何交換時,說明已經是有序了

對 2,5,1,6,9,3 進行排序

演算法實現:

/**

* 氣泡排序

*/public class solution

}if (swap = false) }}

public static void main(string args) ;

bubblesort(array);

for (int i : array) }}

3 分鐘學會插入排序

思路 將待排元素插入到有序陣列中的合適位置,後邊的元素依次向後移動 將陣列分為有序與待排兩個區域 待排區從 1 開始,依次取出每個元素插入有序區,一共進行 n 1 趟 從有序區後面開始比較,有序元素 待排元素,有序元素則向後移動 實現public class solution else j 1 時,...

3 分鐘學會歸併排序

解題思路 分解 將待排序分成兩部分,對每部分進行排序 合併 將排序好的部分進行合併 遞迴 遞推公式 merge sort p.q merge merge sort p.r merge sort r 1.q 終止條件 p q,分組中元素只剩下 1 個 演算法實現 public class soluti...

3分鐘學會sessionStorage用法

前言 是什麼需求呢?需求方要求使用者在乙個列表頁瀏覽時,點選乙個列表進入詳情頁,返回要求記錄使用者剛剛瀏覽的位置,而不是重新重新整理頁面到了頁面頂部。ps 如果使用者好不容易翻到了第幾 十 幾百乃至幾千條時,難道要使用者再重頭開始?可能這個時候跳出率就高了,這個分析的確挺有道理,無力反駁.那麼開始腦...