C语言-排序-希尔排序
2015-09-14 04:00
351 查看
void shellsort1(int a[], int n) { int i, j, gap; for (gap = n / 2; gap > 0; gap /= 2) //步长 for (i = 0; i < gap; i++) //直接插入排序 { for (j = i + gap; j < n; j += gap) if (a[j] < a[j - gap]) { int temp = a[j]; int k = j - gap; while (k >= 0 && a[k] > temp) { a[k + gap] = a[k]; k -= gap; } a[k + gap] = temp; } } }
void shellsort3(int a[], int n) { int i, j, gap; for (gap = n / 2; gap > 0; gap /= 2) for (i = gap; i < n; i++) for (j = i - gap; j >= 0 && a[j] > a[j + gap]; j -= gap) Swap(a[j], a[j + gap]); }
相关文章推荐
- C语言-排序-选择排序
- C语言-排序-归并排序
- C语言-排序-插入排序
- C语言-排序-冒泡排序
- C语言-排序-快速排序
- c语言实现傅里叶级数展开
- c语言实现傅里叶级数展开
- 几种快速傅里叶变换(FFT)的C++实现
- 几种快速傅里叶变换(FFT)的C++实现
- [c++元编程一] 介绍
- Intelligent IME
- Faulty Odometer
- c语言生成zigzag矩阵
- 小白初学C++ PRIMER 第五版 第三章
- C++故障排除-VS2010 error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmai
- C/C++中问号冒号表达式的陷阱
- 【LeetCode从零单刷】Gray Code
- OJ提交题目 G++与C++的区别!!
- c++设计模式---- Bridge(桥接模式)
- c++11——改进容器性能