欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

歸并排序C語言實現方法詳解

呂致盈2年前15瀏覽0評論

歸并排序是一種基于分治思想的排序算法,其主要思想是將待排序數組分成兩個子數組,然后遞歸地對兩個子數組進行排序,將兩個已經排序好的子數組合并成一個有序的數組。以下是歸并排序的C語言實現方法。

1.定義一個歸并排序函數,該函數接收三個參數待排序數組、子數組的起始下標以及子數組的結束下標。

2.如果子數組的起始下標等于結束下標,則該子數組已經有序,直接返回。

3.計算子數組的中間下標,然后遞歸地對左右兩個子數組進行排序。

4.將左右兩個已經排序好的子數組合并成一個有序的數組。

ergetttd) {d) {;

}tidd) / 2;ergeid);ergeidd);t left = start;tid + 1;tpd - start + 1];t i = 0;idd) {

if (arr[left]<= arr[right]) {p[i++] = arr[left++];

}

else {p[i++] = arr[right++];

}

}id) {p[i++] = arr[left++];

}d) {p[i++] = arr[right++];

}t j = 0; j< i; j++) {p[j];

}

tain() {t arr[] = { 9, 2, 7, 4, 5, 6, 3, 8, 1 };t = sizeof(arr) / sizeof(arr[0]);erge - 1);t; i++) {tf("%d ", arr[i]);

} 0;

1 2 3 4 5 6 7 8 9

logn),適用于各種數據規模的排序。在實際應用中,歸并排序還可以用于外部排序,即將待排序的數據存儲在外部存儲器中進行排序。