排序演算法學習

2021-08-15 18:15:28 字數 740 閱讀 4543

/**

* 快速排序演算法

* 通過一趟排序將資料分成兩部分 , 其中一部分的資料要比

* 另外一部分小或大 , 利用遞迴進行 , 直至資料有序

* 演算法步驟 :

* 1.定義兩個指標分別指向低位和高位

* 2.將陣列第乙個元素作為基數

* 3.從後往前遍歷(high--) , 直至找到第乙個小於key的值

* 4.從前往後遍歷(low++) , 直至找到第乙個大於key的值

* 5.重複 3 , 4步驟

* ps:3,4步驟是乙個前後交替不斷靠攏的乙個過程

*@param a 陣列

*@param low 低位

*@param high 高位

*/public

static

void

sort(int a, int low, int high)

int key = a[low];

int temp = 0;

while(i < j)

while(i = a[i])

i++;

if(i < j)

}//對基數左邊的資料遞迴

sort(a,low,i-1);

//對基數右邊的資料遞迴

sort(a,i+1,high);

}

排序演算法學習

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

排序演算法學習

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

排序演算法學習

include include include include include define n 10000500 long long beg int cnt,n void show time void swap int a,int b 稱這兩個函式為比較函式,函式名即相當於指標,將其寫入排序演算法...