希尔排序 shell sort
2013-05-23 22:25
447 查看
#include <stdio.h> void shell_sort(int a[], int size); int main() { int i; int a[10] = {6,8,4,3,9,1,5,2,10,7}; shell_sort(a,10); for (i=0; i<=9; i++) { printf("%d ", a[i]); } printf("\n"); return 0; } void shell_sort(int a[], int size) { int d,i,j; int temp; d=1; for( d=size/2; d>=1; d=d/2) { //间隔为d的元素排序,比如d=3 //将下标为0,3,6,9...的元素排好序 //将下标为1,4,7,10...的元素排好序 //将下标为2,5,8.....的元素排好序 for(i=d; i<size; i++) { for(j=i; j>=d; j=j-d) { if( a[j]<a[j-d] ) { temp = a[j]; a[j] = a[j-d]; a[j-d]=temp; } else break; } } } }
相关文章推荐
- 常用排序算法—Shell Sort(希尔排序)
- 排序算法之希尔排序(Shellsort)
- Java 希尔排序(Shell Sort)
- 希尔排序(ShellSort程序完整版)
- 常用算法——希尔排序(Shell Sort)
- 插入排序之希尔排序(Shell Sort)
- 希尔排序(shell sort):c++
- 【每日一题(25)】初等排序算法(2) 希尔排序(shell sort)
- 希尔排序(Shell Sort)——插入排序法(Java实现)
- C++、C#、java算法学习日记05----希尔排序(ShellSort)
- 希尔排序(Shell Sort)
- 希尔排序(Shell Sort)
- 用java 和 python将希尔排序Shell's Sort 的每一步打印出来(每次的增量没有固定规则)
- 【排序算法 】希尔排序 shell sort(插入类排序)
- 排序算法之希尔排序(ShellSort)
- 常见排序算法 - 希尔排序 (Shell Sort)
- Shell Sort 希尔排序
- 【内部排序】三:希尔排序(Shell Sort)的多种实现(不断优化+源码)
- 希尔排序(shell sort)
- 数据算法之希尔排序(shellSort)的Java实现