一、普通氣泡排序
氣泡排序想必大家都不陌生,原理也就不介紹了,直接看**吧
(1)第一種
1(2)第二種(與第一種並沒有本質的區別,只不過加了乙個標識位,當檢索一遍發現沒有交換時便停止迴圈,可以稍微提高下效率吧)static
void sort(int
unsorted)213
}14}15 }
1二、通用型別氣泡排序這裡我們對乙個hero類進行排序(根據hero中的attack屬性),compare方法由hero類本身實現,方便委託static
void main(string
args)2;
4sort(array);
5foreach (var item in
array)69
}1011//
從小到大排序
12static
void sort(int
sortarray)
1327}28
29 } while
(ischange);30}
31
hero類如下:
1排序方法為sort(t sortarray,funccompare),比較採用func委託public
class
hero24
int attack
5float speed
6 hero(string name,int attack,float speed=10f)711
12//
h1的attack大於h2的attack返回true 否則返回false
13public
static
bool
compare(hero h1, hero h2)
1418 }
具體實現如下:
1static
void sort(t sortarray,funcbool>compare)216
}1718 } while
(ischange);
19 }
1其中hero類中重寫了tostring()方法方便輸出static
void main(string
args)2;
12 sort(heroarray, hero.compare);
13foreach (var item in
heroarray)
1417
console.readkey();
18 }
public輸出結果如下:override
string
tostring()
用java實現泛型程式設計的單鏈表
以下程式實現了單鏈表的基本操作 初始化 頭插 尾插 列印 刪除 單鏈表的節點結構設計 class slinked public t getdata public void setdata t data public slinkedgetnext public void setnext slinked...
模仿qsort的功能實現乙個通用的氣泡排序。
我前面寫過一篇文章,使用qsort函式排序各種型別的資料 qsort的函式原型 void qsort void base,size t num,size t width,int cdecl compare const void const void 這裡以公升序為例子 氣泡排序的思路很簡單,遍歷一組...
模仿qsort的功能實現乙個通用的氣泡排序
qsort的標準呼叫方法 void qsort void base,size t num,size t size,int compar const void,const void 其中 base代表傳入的陣列,num代表陣列長度 size代表陣列內乙個元素所佔的位元組數 因為base的型別是void...