希尔排序
#include <iostream> using namespace std; void ShellSort(int n[], int l) { int g= l/2;//增量,步长 int i, j; for ( ; g> 0; g/= 2) { for (i= g; i< l; i++) { int t= n[i];//要插入的元素 for (j= i; j>= g&&n[j- g]> t; j-= g) { n[j]= n[j- g]; } n[j]= t; } } } int main() { int t; cin>>t; int n[100000]; int i=0; for (;i< t; i++) { cin>>n[i]; } ShellSort(n,t); cout<<"排序后:"<<endl; for (i= 0; i< t;i++) { cout<<n[i]; if(i< t- 1 ) cout<<' '; } cout<<endl; system("pause"); return 0; }