C#數(shù)據(jù)結(jié)構(gòu)的排序算法
作者:佚名
本文介紹C#數(shù)據(jù)結(jié)構(gòu)的排序算法,其中有冒泡排序,在其中參考了老趙的CodeTimer和eaglet的性能計數(shù)器。
C#數(shù)據(jù)結(jié)構(gòu)的排序算法,其中有冒泡排序,在其中參考了老趙的CodeTimer和eaglet的性能計數(shù)器 ,特此感謝~~
好了開始我們的排序算法吧 ~
在進行C#數(shù)據(jù)結(jié)構(gòu)的排序算法之前,我們先定義一個100位的隨機數(shù)列,好進行各種C#數(shù)據(jù)結(jié)構(gòu)的排序算法的性能測試。
代碼如下:
- ///<summary>
- ///隨機生成100位的數(shù)組
- ///summary>
- ///<returns>返回生成數(shù)組returns>
- publicstaticint[]RandomArray()
- {
- Randomran=newRandom();
- int[]arr=newint[100];
- inttem;
- for(inti=0;i<100;i++)
- {
- tem=ran.Next(1,100);
- arr[i]=tem;
- }
- returnarr;
- }
冒泡排序 (Bubble Sort)
基礎(chǔ)思想:將相鄰的記錄的關(guān)鍵碼進行比較,若前面記錄的關(guān)鍵碼大于后面記錄的關(guān)鍵碼,則將它們交換,否則不交換。
- ///<summary>
- ///冒泡排序算法
- ///summary>
- publicclassBubbleSort:IAction
- {
- #regionIAction成員
- publicvoidAction()
- {
- int[]array=Program.RandomArray();
- for(inta=0;a<array.Length;a++)
- {
- intitem=0;
- for(intb=array.Length-1;b>a;b--)
- {
- if(array[b]<array[b-1])
- {
- item=array[b];
- array[b]=array[b-1];
- array[b-1]=item;
- }
- }
- }
- }
- #endregion
- }
【編輯推薦】
責任編輯:佚名
來源:
IT168