本文實(shí)例講述了C#堆排序?qū)崿F(xiàn)方法。分享給大家供大家參考。具體如下:
private static void Adjust (int[] list, int i, int m){ int Temp = list[i]; int j = i * 2 + 1; while (j <= m) {  //more children  if(j < m)   if(list[j] < list[j + 1])    j = j + 1;  //compare roots and the older children  if(Temp < list[j])  {   list[i] = list[j];   i = j;   j = 2 * i + 1;  }  else  {   j = m + 1;  } } list [i] = Temp;}public static void HeapSort (int[] list){ //build the initial heap for (int i = (list.Length - 1) / 2; i > = 0; i-)  Adjust (list, i, list.Length - 1);  //swap root node and the last heap node for (int i = list.Length - 1; i > = 1; i-) {  int Temp = list [0];  list [0] = list [i];  list [i] = Temp;  Adjust (list, 0, i - 1); }}希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選