C 物件陣列排序方法

2021-04-13 09:16:45 字數 2008 閱讀 8282

#實現陣列的排序

乙個排序的類,用了幾種方式實現的。

1using system;

23namespace datastruct

423 }

24 }

25 }

2627 /**

28 /// 插入排序法

29 ///

30 ///

31 public static void insertionsort(int list)

32 42 list[j] = t;

43 }

4445 }

4647 /**

48 /// 選擇排序法

49 ///

50 ///

51 public static void selectionsort(int list)

52 62 int t = list[min];

63 list[min] = list[i];

64 list[i] = t;

65 }

6667 }

6869 /**

70 /// 希爾排序法

71 ///

72 ///

73 public static void shellsort(int list)

74 88 list[j - 1] = t;

89 }

90 }

91 }

9293 private static void swap(ref int l, ref int r)

94 100

101 /**

102 /// 快速排序法

103 ///

104 ///

105 ///

106 ///

107 public static void sort(int list, int low, int high)

108

120 mid = (low + high) >> 1;

121 pivot = list[mid];

122 swap(ref list[low], ref list[mid]);

123 l = low + 1;

124 r = high;

125 do

126 while (l < r);

134 list[low] = list[r];

135 list[r] = pivot;

136 if (low + 1 < r)

137 sort(list, low, r - 1);

138 if (r + 1 < high)

139 sort(list, r + 1, high);

140 }

141 }

142}

143c#物件陣列排序方法

排序是程式設計中常用的法算之一,排序的方法有很多種,下面介紹一種簡單有效的排序方法,**如下:

private bool isreverse = false;

private void sort(personalnotificationentity list,string key)

else

array.sort(keys,list);

isreverse = true; }

}這裡使用了array.sort()和array.reverse()方法對資料進行正/反排序,變數isreverse做為反排序的標誌位

方法傳入了2個引數,乙個是要排序的物件陣列list,乙個是排序關鍵字key,即要物件的根據哪個屬性或字段來進行排序(這個值是等於物件的屬性/欄位名)

type.invokemember()方法可以得到物件例項的屬性/字段值,這裡使用的是字段

在得到陣列中的每乙個要排序的字段值後,把這個字段值陣列做為array.sort()方法的引數傳入,sort方法就會將物件數按這個欄位的值進行排序。  

C 陣列排序方法

using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace 1209 陣列排序方法 console.write 陣列排...

C 陣列排序方法

在c 中常用的陣列排序的方法有 選擇排序法 氣泡排序法 插入排序法和希爾排序法等。一 選擇排序法 using system using system.collections.generic using system.linq using system.text namespace test cons...

C 陣列排序的方法

using system namespace datastruct 插入排序法 public static void insertionsort int list list j t 選擇排序法 public static void selectionsort int list intt list m...