基本数据结构 -- 希尔排序
来源:互联网 发布:使命召唤5知乎 编辑:程序博客网 时间:2024/05/17 05:53
/********************************************************** * *FileName:shellSort.c *Function:shell sort *Author:kevin *Date:2014-03-12 *Version:1.0 * **********************************************************//********************************************************** 希尔排序的基本思想: 希尔排序又称为缩小增量排序方法。其基本思想是把记录按下标增量d分组, 对每组记录采用直接插入排序方法进行排序,随着增量逐渐减小,所分成的 组包含的记录越来越多,当增量的值减小到1时,整个数据合成为一组, 构成一组有序记录,则完成排序。 **********************************************************/#include <stdio.h>#define SORT_DEBUG 1void print_array(int a[], int n){int i;for(i = 0; i < n; i++){printf("%2d ", a[i]);}printf("\n");}void shell_sort(int a[], int n){int i, j;int temp;int gap = n/2;while(gap > 0){for(i = gap; i < n; i++){temp = a[i];for(j = i - gap; j >= 0; j -= gap){if(temp < a[j])a[j+gap] = a[j];else break;}a[j+gap] = temp;}gap /= 2;}}int main(int args, char *argv[]){int a[] = {75, 87, 68, 92, 88, 61, 77, 96, 80, 72};int n = sizeof(a)/sizeof(a[0]);printf("---------------排序前------------------\n");print_array(a, n);shell_sort(a, n);printf("---------------排序后------------------\n");print_array(a, n);return 0;}
0 0
- 基本数据结构 -- 希尔排序
- 数据结构 -希尔排序
- 【数据结构】希尔排序
- 数据结构 - 希尔排序
- 数据结构之希尔排序
- 数据结构--希尔排序
- 数据结构之希尔排序
- 数据结构—希尔排序
- 数据结构--希尔排序
- 数据结构之希尔排序
- JAVA数据结构:希尔排序
- 数据结构-希尔排序
- 数据结构希尔排序
- 数据结构 — 希尔排序
- 数据结构 希尔排序
- 数据结构之希尔排序
- 数据结构 希尔排序
- 希尔排序基本思想
- nginx缓存设置
- 【Oracle】DBMS_ROWID定位数据行物理存储位置
- MongoDB随笔3:使用索引
- 3--2旱冰场造价
- VC6.0使用Sqlite3 历程
- 基本数据结构 -- 希尔排序
- Leetcode--Combination Sum
- iOS项目的目录结构和开发流程
- 多线程编程2 - NSOperation
- ubuntu系统备份
- FUSE队列管理浅析
- spring中 使用JUnit4 测试 代码[模拟服务器启动]
- Wifi Setup
- js面向对象编程,一个完整原型的继承例子