简单希尔排序
来源:互联网 发布:淘宝的经营模式 编辑:程序博客网 时间:2024/04/30 02:53
最近一直在自学数据结构,感觉严蔚敏老师讲的很好,但是愚钝的我还是要看好几遍,借鉴这伪码将代码写出来。
算法不是那么容易就能写出来的,虽然懂得排序的具体方法,但是想具体通过代码实现还是不那么容易的!自己还要多读练习!
不说了,下面贴出我实现成功的代码,代码是根据严蔚敏视频上给出的仿照的写的,略有改动。
#include<iostream>
using namespace std;
/*希尔排序方法也叫缩小增量法,Shell_insert可在直接插入法的基础上修改
然后ShellSort不断循环,逐渐缩小增量直至dk=1 */
void Shell_insert(int R[],int dk,int n)
{
for (int i=dk;i<n;i++)
{
int temp=R[i]; //temp 为要插入的元素
for(int j=i-dk;j>=0&&temp<R[j];j-=dk) //如果要插入的元素比前者小,那么将前者的值赋给下标大的。
{
R[j+dk]=R[j];
}
R[j+dk]=temp;
}
}
void ShellSort(int R[],int dk[],int t)
{
for(int i=0;i<t;i++)
{
Shell_insert(R,dk[i],11);
}
}
void main()
{
int R[11]={16,25,12,30,47,11,23,36,9,18,31};
int dk[3]={5,3,1}; //增量数组,逐半递减
ShellSort(R,dk,3);
for(int i=0;i<11;i++)
{
cout<<R[i]<<endl;
}
}
- 简单希尔排序
- 希尔排序简单实现
- 希尔排序(简单)
- 希尔排序 一个简单示例
- 希尔排序的简单实现
- 希尔排序的简单实现
- 简单插入排序和希尔排序
- java实现简单排序算法:希尔排序
- 简单插入排序与希尔排序
- 【算法】简单插入排序与希尔排序
- 简单排序——希尔排序
- 希尔(shell)排序简单分析
- 简单的希尔排序 Shell Sort
- 快速简单理解——希尔排序
- 简单插入排序和希尔排序简单应用
- 简单插入排序 二分插入排序 shell希尔插入排序
- 简单排序Java实现(三):希尔排序,堆排序
- 插入排序之之简单插入排序和希尔排序
- 学习WCF\WPF\EF技术(四)--添加log4net功能能
- 如何安装cygwin
- Rails 3.2 的 Ajax 向导
- oracle超出打开游标的最大数的原因和解决方案
- 激活 MyEclipse9 时出现"CreateProcess Failed!"的另一解决方法
- 简单希尔排序
- Drupal7 如何配置发送Email?
- EF中的Foreign-key的删除关系
- 动态验证用户是否存在
- oracle什么时候需要commit
- threading python
- SEH 机制探索1 --- TEB 结构
- snow leopard 和 Xcode 4.2搞定ios5.1调试
- Pal