排序專題之交換排序

2021-07-04 10:48:59 字數 834 閱讀 6021

在交換排序這一類中,分為氣泡排序和快速排序,快速排序是建立在

氣泡排序基礎上的乙個優化,很有意義的乙個排序,在各種acm競賽

以及其他領域中經常被用到;

接下來,我們先看一看氣泡排序。

氣泡排序基本思想:

通過無序區中相鄰記錄關鍵字間的比較和位置的交換,

使關鍵字最小的記錄如氣泡一般逐漸往上「漂浮」直至「水面」。

整個演算法是從最下面的記錄開始,對每兩個相鄰的關鍵字進行比較,

且使關鍵字較小的記錄換至關鍵字較大的記錄之上,使得經過一趟

氣泡排序後,關鍵字最小的記錄到達最上端,接著,再在剩下的記

錄中找關鍵字次小的記錄,並把它換在第二個位置上。依次類推,

一直到所有記錄都有序為止。

#includeusing namespace std;

int main()

for(i=0;ii;j--)

}a[i]=val; /*將儲存在val中的數放到a[i]中*/

quicksort(a,i); /*遞迴,對前i個數排序*/

quicksort(a+i+1,numsize-i-1);/*對i+2到numsize這numsize-1-i個數排序*/

} }int main()

另一種寫法::

void qksort(recordtype r,int low, int high )

/*對記錄陣列r[low..high]用快速排序演算法進行排序*/

int main()

qsort(s,5,sizeof(s[0]),com);

for(i=0;i

排序演算法之交換排序

交換排基本思想 兩兩比較待排序元素的關鍵字,發現兩個元素的次序相反時即進行交換,知道沒有反序的元素為止。本節介紹兩種交換排序,即氣泡排序和快速排序。氣泡排序 每次只能和相鄰的位置數進行交換,效率低 include int a 100 void quicksort int left,int right...

內部排序之交換排序

快速交換排序簡介及其 冒泡交換排序及其 交換排序總結 我們知道假如乙個已排好序的陣列,假如是從小到大公升序排列,則隨便取其中乙個數n,則n左邊所有數都小於或等於n,右邊的都大於或等於n.那反向思維下,我們先隨便取陣列第乙個數為基準x,然後將所有小於它的數交換到左邊,大於它的數交換到右邊.最後x可能就...

經典排序之交換排序

交換排序的基本思想是 對待排序資料元素,兩兩比較其關鍵字,若發現存在逆排序,則交換這兩個資料,一直到待排序資料元素中沒有逆序為止。一 氣泡排序 bubble sort 氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列 的工作是...