]; arr[number-1] = tmp; for (num=number-1; num>1; num--) { for (indexDown=0; (2*indexDown +1) < num; ) { tmpIndex = 2*indexDown +1; if (arr[tmpIndex] >= arr[tmpIndex+1]) { if (arr[tmpIndex] > arr[indexDown]) { tmp = arr[indexDown]; arr[indexDown] = arr[tmpIndex]; arr[tmpIndex] = tmp; indexDown = tmpIndex; } else { break; } } else { if ((arr[tmpIndex+1] > arr[indexDown]) && (tmpIndex+1 < num)) { tmp = arr[indexDown]; arr[indexDown] = arr[tmpIndex+1]; arr[tmpIndex+1] = tmp; indexDown = tmpIndex+1; } else { break; } } } tmp = arr[0]; arr[0] = arr[num-1]; arr[num-1] = tmp; } } void ExamineArr(const int * const arr, DWORD number) { DWORD i=0, j=1; if (number <2) { return; } for (; j { if (arr[i] > arr[j]) { printf("第%u个数大于第%u个数!\n", i, j); return; } } }  摘自 kevinshq的专栏
|