#include<iostream>
using namespace std;
void shellSort(int *list, int len) {
int d = len;
while(d > 1) {
d = (d + 1)/2; //增量
for(int i = 0; i < len - d; i++) {
if(list[i+d] < list[i]) {
int temp = list[i+d];
list[i+d] = list[i];
list[i] = temp;
}
}
for(int j = 0; j < len; j++) {
cout <<list[j] <<" ";
}
cout <<endl;
}
}
int main(){
int list[10] = {49,38,65,97,76,13,27,49,55,4};
shellSort(list, 10);
return 0;
}
本文提供了一个使用C++实现的希尔排序算法示例,并展示了如何通过逐步减小增量来对整数数组进行排序的过程。
1887

被折叠的 条评论
为什么被折叠?



