希尔排序
来源:互联网 发布:mac u盘重装系统 编辑:程序博客网 时间:2024/06/05 02:20
希尔排序思路:希尔排序就是插入排序的一种,希尔排序首先确定分组大小,组内采用直接插入排序;然后再减少分组,直到组数为1时全部元素都排好了顺序。
代码实现:
#include <stdio.h>
void ShellSort(int*ptr,int n);
void PrintList(int*ptr,int n);
int main()
{
int n,data[1000],i;
while (scanf("%d",&n)!=EOF)
{
for (i=0;i<n;i++)
{
scanf("%d",&data[i]);
}
ShellSort(data,n);
PrintList(data,n);
}
return 0;
}
void ShellSort(int*ptr,int n)
{
int g=n/2,i,j,temp;
while (g>=1)
{
for (i=g;i<n;i++)
{
temp=ptr[i];
j=i-g;
while (temp<ptr[j] && j>=0)
{
ptr[j+g]=ptr[j];
j-=g;
}
ptr[j+g]=temp;
}
g=g/2;
}
}
void PrintList(int*ptr,int n)
{
for (int i=0;i<n;i++)
{
printf("%d ",ptr[i]);
}
}
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- How to run strongswan vpnaas driver (by quqi99)
- css 居中 table 文字 图片
- 嵌入音频的基本方法
- 开发者必备的6款源码搜索引擎
- grep命令查找字符串
- 希尔排序
- 动画集合
- JAVA线程池例子
- iOS网络通信http之NSURLConnection
- SDWebImage访问HTTPS站点获取图片资源失败解决办法
- 七牛云存储编程架构模型解读
- KMP算法
- Linux服务器配置脚本备份
- ORACLE性能技巧测试:NVL与DECODE