C 氣泡排序拓展(泛型 委託)

2022-06-16 08:00:20 字數 1241 閱讀 6282

概念:

以int為例,每次從頭開始掃瞄兩個相鄰元素的大小,根據所需的順序進行調換,直到不需要交換位置。表示元素已經排序完畢。

實現邏輯

依然以int為例,設定乙個

為標誌表示每次迴圈時是否有進行元素互換,初始值為

true

。然後進入迴圈體,從頭開始掃瞄,迴圈內若有發生交換操作則將

置為true

。一輪排序後重新將

置為false

,開始新一輪迴圈。直到某一輪迴圈內不再發生交換,則表示已經沒有元素需要排序,排序完成。

概念:

基於基本氣泡排序,有時候我們定義了乙個自定義類中有兩個或以上成員,需要根據其中一項來對物件進行排序,即可使用此排序方法。

實現邏輯:

public static void sort(listsortarray,funccomparision)

傳入需要排序的自定義類陣列,然後呼叫自定義的方法comparision比較兩個元素的大小進行排序。

注意點:

list<>在

system.collections.generic;

下func指向方法的返回值和所需引數

**實現:

以自定義類employee為例

先定義乙個employee類

class

employee

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...