希尔排序是一种高效的插入排序,尤其适用于大规模数据的排序。它通过将原始列表分割成多个子序列,并对每个子序列进行直接插入排序,从而提高排序效率。下面是一个用C++编写的希尔排序算法示例:
```cpp
include
using namespace std;
void shellSort(int arr[], int n) {
for (int gap = n / 2; gap > 0; gap /= 2) {
for (int i = gap; i < n; i++) {
int temp = arr[i];
int j;
for (j = i; j >= gap && arr[j - gap] > temp; j -= gap) {
arr[j] = arr[j - gap];
}
arr[j] = temp;
}
}
}
int main() {
int arr[] = {10, 7, 8, 9, 1, 5};
int n = sizeof(arr) / sizeof(arr[0]);
shellSort(arr, n);
cout << "Sorted array: \n";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
这个代码片段展示了如何使用希尔排序算法对一个整数数组进行排序。首先定义了一个`shellSort`函数,其中使用了两个嵌套循环。外层循环控制间隔(gap),内层循环则对每个子序列执行插入排序。通过逐步缩小间隔,最终实现整个数组的排序。🚀
这种方法不仅简单易懂,而且在处理大数据集时表现尤为出色。希望这段代码对你有所帮助!👍
免责声明:本文由用户上传,如有侵权请联系删除!