排序算法之希尔排序算法---c++实现
来源:互联网 发布:windows mobile刷安卓 编辑:程序博客网 时间:2024/06/18 05:36
看了一下希尔排序算法的思想,终于可以自己用代码把它写出来。代码虽然冗长,但总的来说,基本能把希尔排序的思体现出来。
总的思想是:把一个数据集合依次进行减半分组,然后分别对每组进行直接插入排序。
#include<iostream>using namespace std;void ShellSort(int arry[], int n){ int i, j, gap; int k, temp, l; for (gap = n / 2; gap > 0; gap /= 2) //取步长 { for (i = 0; i < gap; i++) //进行gap次直接插入排序 { for (j = i + gap; j < n; j += gap) { k = j - gap; temp = arry[j]; //从小到大进行排序 while (k >= 0 && arry[j] < arry[k]) k -= gap; //到这一步,说明找到插入的位置(k + gap)了 //移动插入 for (l = j - gap; l > k; l -= gap) arry[l + gap] = arry[l]; arry[k+gap] = temp; } } }}int main(){ cout << "排序前的数据为:"; int a[10], i; for (i = 0; i < 10; i++) { a[i] = rand() % 10 + 1; cout << a[i] << " "; } cout << endl; cout << "排序后的数据为:"; ShellSort(a, 10); for (i = 0; i < 10; i++) cout << a[i] << " "; cout << endl; return 0;}
0 0
- 算法实现之希尔排序(C++)
- 排序算法之希尔排序(C/C++)
- 排序算法之希尔排序(C语言实现)
- 排序算法(C实现)------- 希尔排序
- C语言实现排序算法---希尔排序
- 排序算法之希尔排序 java实现
- 算法代码实现之希尔排序,C/C++实现
- 实现希尔排序算法。
- 算法之希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 当前应用拦截NFC响应,不弹出选择框教程
- Android 序列化对象接口Parcelable使用方法
- phonegap help命令
- OpenCV—多通道颜色分离&混合
- hdu_1241_Oil Deposits(DFS)
- 排序算法之希尔排序算法---c++实现
- iOS中NSUserDefaults的使用
- C语言中%d,%o,%f,%e,%x的意义
- char* CString string区别
- 第十七讲 项目二:用指针玩字符串 (事例)
- win平台AndroidStudio 1.0首次安装
- [置顶] 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
- JqueryEasyUI中的Datagrid获取选中行的数据
- Python中的字符串处理