希尔排序
来源:互联网 发布:社交网络 评论音轨 编辑:程序博客网 时间:2024/06/07 09:29
/**希尔排序:* 选取一个小于n的整数d作为第一个增量,把序列分为d组,即所有相互之间距离为d整数倍的* 元素为同一组,在各组内进行直接插入排序;取第二个增量d2(d2<d),重复上面分组与排序的* 过程,直到di=1时,即所有元素放在同一组中进行直接插入排序。*/#include <stdio.h>void shell_sort(int *arr,int n){int i,j,d;int temp;d=n/2; //设置增量初值while(d>0){for(i=d;i<n;i++)//对所有相隔为d的元素进行直接插入排序{temp=arr[i];j=i-d;while(j>=0 && temp>arr[j])//对每组中的数据进行排序{arr[j+d]=arr[j];j=j-d;}arr[j+d]=temp;}d=d/2;}}int main(int argc,char **args){int arr[]={10,9,88,23,45,9};int i=0;shell_sort(arr,6);for(i=0;i<6;i++){printf("%d ",arr[i]);}printf("\n");return 0;}
阅读全文
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- Python的Django框架应用(1)
- servlet 获取表单数据
- matplotlib时间坐标设置
- android 用户引导页实现
- C++中一个空类的大小为什么是1?
- 希尔排序
- 单片机实验一
- [机器学习入门] 李宏毅机器学习笔记-23(Support Vector Machine;支持向量机)
- API设计的基本工作流程及需求分析
- TUST的抓包之旅(1)----- 一键登录校园网
- 堆排序
- 漫步最优化十——极值类型
- Hbase架构以及应用介绍
- Linux Virtual Server概述