插入排序
来源:互联网 发布:淘宝销量计算规则 编辑:程序博客网 时间:2024/06/05 08:20
1.直接插入排序
#include <stdio.h>void InertSort(int* arr, int size){ int pos = 0; for (int i = 1; i < size; i++) { int tmp = arr[i]; pos = i-1; while (pos >= 0 && arr[pos] > tmp) { arr[pos + 1] = arr[pos]; pos--; } arr[pos + 1] = tmp; }}
2.希尔排序
希尔排序属于插入类排序,是将整个有序序列分割成若干小的子序列分别进行插入排序。
排序过程:先取一个正整数d1 < n,把所有序号相隔d1的数组元素放一组,组内进行直接插入排序;然后取d2 < d1,重复上述分组和排序操作;直至di=1,即所有记录放进一个组中排序为止。
void ShellSort(int* arr, int size){ int gap = size; while (gap > 1) { gap = gap / 3 + 1; int pos = 0; for (int i = pos + gap ; i < size; i++) { int tmp = arr[i]; pos = i - gap; while (pos >= 0 && arr[pos] > tmp) { arr[pos + gap] = arr[pos]; pos-=gap; } arr[pos + gap] = tmp; } }}
阅读全文
0 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 瓶框(bottle)架学习之模版使用
- dijskstra算法及其队列优化,spfa,floyd Til the Cows Come Home POJ
- java与MySQL之间总差8个小时的问题
- 什么是学习?
- 棋盘上的守卫
- 插入排序
- 训练日记-14
- 高效的浏览 Linux 目录结构:pushd和popd命令
- 让我进去--实验吧
- 动态表单设计
- 首字母转换大小写以及实体类是否存在某个方法名
- 线程池的探索
- c++ gb2312 utf8 转换函数
- 单词记忆