标签:pre baidu gap color [1] tar blank size alt
描述
编程实现希尔排序算法,按照非递减排序,测试数据为整数。
input
第一行是待排序数据元素的个数n;
第二行是待排序的数据元素。
output
一趟希尔排序后的结果。
样例输入
样例输出
4 20 18 12 22 50 36 41 19 23
#include<iostream>
#include<algorithm>using namespace std;#define maxsize 1000void shellSort(int *a,int n){ int i,j,gap; //for(gap=n/2;gap>0;gap/=2) for(gap=n/2;gap==n/2;gap/=2) { for(i=gap;i<n;i++) { for(j=i-gap;j>=0&&a[j]>a[j+gap];j-=gap) { swap(a[j],a[j+gap]); } } }}int main(){ int n; cin>>n; int a[maxsize]; for(int i=0;i<n;i++) { cin>>a[i]; } shellSort(a,n); for(int i=0;i<n;i++) { cout<<a[i]<<" "; } return 0;}标签:pre baidu gap color [1] tar blank size alt
原文地址:http://www.cnblogs.com/swust-wangyf/p/6749409.html