C排序演算法

2021-08-30 04:58:13 字數 924 閱讀 2672

一、簡單排序演算法

由於程式比較簡單,所以沒有加什麼注釋。所有的程式都給出了完整的執行**,並在我的vc環境

下執行通過。因為沒有涉及mfc和windows的內容,所以在borland c++的平台上應該也不會有什麼

問題的。在**的後面給出了執行過程示意,希望對理解有幫助。

1.冒泡法:

這是最原始,也是眾所周知的最慢的演算法了。他的名字的由來因為它的工作看來象是冒泡:

#include

void bubblesort(int* pdata,int count)

}while(i<=j);//如果兩邊掃瞄的下標交錯,就停止(完成一次)

//當左邊部分有值(lefti),遞迴右半邊

if(right>i)

run(pdata,i,right);

} void quicksort(int* pdata,int count)

void main()

; quicksort(data,7);

for (int i=0;i<7;i++)

cout<

void bubble2sort(int* pdata,int count)

pdata[w+k] = itemp;

} }

} void main()

; shellsort(data,12);

for (int i=0;i<12;i++)

cout

} 呵呵,程式看起來有些頭疼。不過也不是很難,把s==0的塊去掉就輕鬆多了,這裡是避免使用0 步長造成程式異常而寫的**。這個**我認為很值得一看。 這個演算法的得名是因為其發明者的名字d.l.shell。依照參考資料上的說法:「由於複雜的數學原因 避免使用2的冪次步長,它能降低演算法效率。」另外演算法的複雜度為n的1.2次冪。

C 排序演算法

最基本的 氣泡排序 c code using system namespace bubblesorter j public class mainclass bubblesorter sh new bubblesorter sh.sort iarrary for intm 0 m iarrary.le...

C 排序演算法

protected int bubbleup int array 氣泡排序 return array public int selectionsorter int list 選擇排序 int temp list min list min list i list i temp return list ...

C 演算法排序

不廢話,上 using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace 排序演算法 陣列 氣泡排序 選則排序 arra...