SHELL排序
2015-08-31 19:37
507 查看
希尔排序:它是一种对插入排序的改进,减少了比较次数,提高了效率
#include <iostream> using namespace std; extern void print_o(int *, int); void shell_sort(int *a, int len) { int i, j, temp, n; n = len/2; while(n!=0) { for(i=n; i<len; i++) { temp = a[i]; //!!!! for(j=i-n; j>=0; j -= n) { if(a[j]>temp) a[j+n] = a[j]; else break; } //至此已经确定了j的位置 a[j+n] = temp; //测试所用print_o(a, len); //同上cout << "n: " << n << endl << endl; } n /= 2;//每次循环都减少偏移 } } int main() { int a[7] = {3,7,0,9,1,4,2}; int len = sizeof(a)/sizeof(int); print_o(a, len);//测试遍历所用 shell_sort(a, len); }
相关文章推荐
- shell
- shell积累
- 解决xshell连接linux总是异常断开的问题?
- Linus常用的快捷键与shell常用通配符
- Linux shell--变量数学运算
- shell使用(1)筛选日志内容&重新执行删除操作
- Shell编程练习题
- 关于Shell的source、点(.)和export
- [小技巧] 查询 shell 内置命令的用法
- Shell替换:变量替换,命令替换,转义字符
- shell中的数组操作
- .bash_profile 配置
- Win7怎么打开Windows PowerShell窗口?Win7打开Windows PowerShell窗口的方法介绍
- ShellExecuteEx调用第三方程序
- shell 编程 if for while 循环体语法
- Linux-《Linux命令行与shell脚本编程大全》阅读笔记
- Shell Tips
- Linux系统命令及Shell脚本学习笔记五:字符处理
- linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )
- Linux 的shell 字符串截取很有用。有八种方法。