希尔排序
来源:互联网 发布:淘宝全屏导航不固定 编辑:程序博客网 时间:2024/06/05 02:43
编程实现希尔排序算法,按照非递减排序,测试数据为整数。
Description
第一行是待排序数据元素的个数n;
第二行是待排序的数据元素。
Input
一趟希尔排序后的结果。
Output
1
2
3
10
50 36 41 19 23 4 20 18 12 22
Sample Input
1
4 20 18 12 22 50 36 41 19 23
Sample Output
第一趟排序增量d=n/2
#include<stdio.h>
int main(){
void Input(int total);
int total;
while(scanf("%d",&total)!=EOF)
{
Input(total);
}
return 0;
}
void Input(int total)
{
void shellsort(int total,int arr[]);
int arr[1100];
int i;
for(i=0;i<total;i++)
scanf("%d",&arr[i]);
shellsort(total,arr);
}
void shellsort(int total,int arr[])
{
int d=total/2;
int i,j,key;
while(d!=0)
{
for(i=d;i<total;i++)
{
key=arr[i];
j=i-d;
while(j>=0 && key<arr[j])
{
arr[j+d]=arr[j];
j=j-d;
}
arr[j+d]=key;
}
d=d/2;
break;
}
for(i=0;i<total;i++)
printf("%d ",arr[i]);
}
就是插入排序的思想。。
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- call to OpenGL ES API with no current context 和Fatal signal 11
- Java基础知识之Set
- 我是菜鸟:java异常处理总结
- Linux IPC 之管道通信
- 理解Java对象序列化
- 希尔排序
- 每日一题E 2015/6/2 21:50
- 凯云水利水电工程造价系统 (五) 补充定额
- 占位符的另一种用处
- MC 通信协议@2015/06/02
- 黑马程序员——Java基础---语法<一>
- 2.工厂方法模式
- 谱聚类--SpectralClustering
- VMware中Ubuntu 14.04出现Unknown Display问题解决