概念:
以int為例,每次從頭開始掃瞄兩個相鄰元素的大小,根據所需的順序進行調換,直到不需要交換位置。表示元素已經排序完畢。
實現邏輯:
依然以int為例,設定乙個
為標誌表示每次迴圈時是否有進行元素互換,初始值為
true
。然後進入迴圈體,從頭開始掃瞄,迴圈內若有發生交換操作則將
置為true
。一輪排序後重新將
置為false
,開始新一輪迴圈。直到某一輪迴圈內不再發生交換,則表示已經沒有元素需要排序,排序完成。
概念:
基於基本氣泡排序,有時候我們定義了乙個自定義類中有兩個或以上成員,需要根據其中一項來對物件進行排序,即可使用此排序方法。
實現邏輯:
public static void sort(listsortarray,funccomparision)
傳入需要排序的自定義類陣列,然後呼叫自定義的方法comparision比較兩個元素的大小進行排序。
注意點:
list<>在
system.collections.generic;
下func指向方法的返回值和所需引數
**實現:
以自定義類employee為例
先定義乙個employee類
classemployee
private
int number
//建構函式
public employee(string name, int
number)
//專有的比較方法
public
static
bool
compare(employee employee1,employee employee2)
//輸出資料
public
void
print()
}class
program
;static
void main(string
args)
}//排序方法
public
static
void sort(t sortarray, funcbool>comparision)}}
while
}}
C語言泛型程式設計 泛型氣泡排序
在實際程式設計中,常常會需要一些方法 函式 比如排序,它們具體實現基本一致,僅僅只有引數型別不同,那麼可不可以有一種通用的函式,不管是什麼型別的引數都可以通用呢?泛型程式設計 泛型即是指具有在多種資料型別上皆可操作的含義,與模板有些相似。利用泛型程式設計,我們可以寫一些通用的函式,以減少 量,實現 ...
C語言泛型程式設計 泛型氣泡排序
在實際程式設計中,常常會需要一些方法 函式 比如排序,它們具體實現基本一致,僅僅只有引數型別不同,那麼可不可以有一種通用的函式,不管是什麼型別的引數都可以通用呢?泛型程式設計 泛型即是指具有在多種資料型別上皆可操作的含義,與模板有些相似。利用泛型程式設計,我們可以寫一些通用的函式,以減少 量,實現 ...
C 泛型的氣泡排序
1.普通的整型氣泡排序 void bubblesort int a,int size template 泛型可指定公升降序的氣泡排序 void sortbubble t a,int size,bool ret 1 測試上述函式 int main sortbubble arr,sizeof arr s...