11. 資料結構高階十一排序實現之冒泡法
「君子坦蕩蕩,小人長戚戚。
-- 孔丘」
接下去我們來看下如何實現各種排序,先來看下冒泡法實現。
氣泡排序(bubblesort),是一種電腦科學領域的較簡單的排序演算法。
它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端,故名。
**比較簡單,這裡**不過多介紹,具體檢視原始碼。最後執行如下圖1所示
#include
#include
void
bubblesort(
inta
,intn)
} }
}
intmain() ;
printf(
"before bubblesort \n ");
for(i=0;i<10;i++ )
bubblesort(a,10);
printf(
"\nafter bubblesort \n ");
for(i=0;i<10;i++ )
return
0; }
資料結構《一》 排序演算法之氣泡排序
氣泡排序可以說是最簡單,大多數人最先接觸的排序演算法。臨近的數字兩兩進行比較,按照規定的順序進行交換,這樣一趟過去後,最大或最小的數字就像氣泡一樣被 排 最後一位,然後第二趟之後,次大或次小的數字被 排 到倒數第二位,以此類推,直至第一位與第二位順序正確。實現過程如圖 氣泡排序複雜度為o n 過程如...
資料結構《一》 排序演算法之選擇排序
選擇排序演算法描述 假設有一陣列,內有n個無序數字,進行從小到 擇排序,從第乙個數字開始遍歷陣列,挑選最小的數字與陣列第乙個數字進行交換,然後從第二個數字開始進行第二次遍歷,選次小的數字與第二個數字進行交換,以此類推,第n 1遍遍歷後,陣列排序完成。選擇排序實現過程 時間複雜度為o n 實現過程如下...
15 資料結構高階十五排序實現之堆排序
15.資料結構高階十五排序實現之堆排序 誰要是遊戲人生 他就一事無成 誰不能主宰自己 永遠是乙個奴隸 歌德 繼續來看下堆排序。堆排序 heapsort 是指利用堆積樹 堆 這種資料結構所設計的一種排序演算法,它是選擇排序的一種。可以利用陣列的特點快速定位指定索引的元素。堆分為大根堆和小根堆,是完全二...