/* 插入排序:希尔排序 */
#include <cstdio>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
int arr1[100];
//这里使用100个随机数
int n = 10;
for(int i = 0; i<n ;i++){
arr1[i] = rand();
}
cout<<"100个随机数为:"<<endl;
for(int i = 0; i<n; i++){
cout<<arr1[i]<<" ";
}
cout<<endl<<"100个随机数排序之后为:"<<endl;
int step, i, j, key;
for(step = n/2; step>0; step /= 2){
for(i = step; i<n; i++){
key = arr1[i];
for(j = i - step; j >= 0 && arr1[j] > key; j -= step){
arr1[j+step] = arr1[j];
}
arr1[j + step] = key;
}
}
for(int i = 0; i<n; i++){
cout<<arr1[i]<<" ";
}
}