排序演算法學習

2021-09-23 13:31:16 字數 529 閱讀 9754

快速排序

/*** 快速排序時間複雜度為n*lgn

* 不穩定排序演算法

*/

public static void quicksort(int a,int l,int r) 

if (i < j)

while (i < j && a[i] < x)

if (i < j)

a[i] = x;

quicksort(a,l,i - 1);

quicksort(a,i+1,r);}}

}

氣泡排序

每一趟比較都會選出當前所有比較數的最大值,大的值往右放,小的值往左放。

public static void bubblesort(int arr) }}

}

選擇排序

public static void selectsort(int arr) 

}if (k != i)

}}

排序演算法學習

一直都想把排序和搜尋類的演算法總結一下,一直拖著沒寫,主要是太懶了,現在決定還是要再好好學習下這些基本的演算法。畢竟基礎真的是很重要。好了現在開始學習第乙個排序演算法 插入排序 我記得插入排序在我們以前的資料結構教程上是第乙個介紹的 插入排序 聽這個排序名字就是將乙個什麼數要插入到某個地方,不錯,他...

排序演算法學習

1.氣泡排序 using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace 排序演算法練習 從小排序 public ov...

排序演算法學習

快速排序演算法 通過一趟排序將資料分成兩部分 其中一部分的資料要比 另外一部分小或大 利用遞迴進行 直至資料有序 演算法步驟 1.定義兩個指標分別指向低位和高位 2.將陣列第乙個元素作為基數 3.從後往前遍歷 high 直至找到第乙個小於key的值 4.從前往後遍歷 low 直至找到第乙個大於key...