内部排序算法c语言简单实现实现
来源:互联网 发布:对于java的理解 编辑:程序博客网 时间:2024/05/19 00:51
内部排序分为
1)通过插入进行排序
1、简单插入排序——sampleInsertionSort
把序列分为已排序未排序,每次重未排序中选择最前头的的元素,使用简单的从后往前的一个一个的比较来选择插入位置,然后重新排列元素位置(在这里我采用右旋转)。
2、二叉插入排序——binaryInsertionSort
把序列分为已排序未排序,每次重未排序中选择最前头的的元素,使用二叉查找来选择插入位置,然后重新排列元素位置(在这里我采用右旋转)。
3、希尔排序——shellSort
1)gap有序:确保gap有序时使用的是上面的法方法一(gap有序:即相隔gap的所有元素之间是有序的1、5、4、9、7、11是gap2有序的)
2)gap的递减:gap一般是一个序列,其第一个元素为1;
note:至于shellSort为什么能比较快,可以看看程序设计艺术中的第三篇,我也就只有个印象,写不出来。
2)通过交换进行排序:
1、冒泡排序——bubbleSort:
相邻元素逆序则交换。
2、快速排序——quicksort
1)partion部分:选择一个元素,经过处理后使得其左边位置的元素小于等于它,其右边位置的元素大于等于他
2)sort部分:不断的partion直到序列只有一个或零个元素
note:快速排序为什么快同上
3)通过选择进行排序:
1、简单选择——sampleSelectionSort
将元素分为有序和无序,每次重无序序列中选择最大的元素让其和无序序列中后位置的元素交换这样一步一步扩张有序序列,缩减无序序列,直到无序序列中只有一个元素。
2、堆排序——heapSort
1)建最大堆;
2)交换堆头元素与堆尾元素,使堆大小减1;
3)向下调整使得其保持堆的性质;
4)重复这个过程,直到堆中只有一个元素。
4)通过合并进行排序
note:没写以后补上
5)通过分布进行排序
note:没写以后补上
第一次更新 2012 09 06
原码见https://github.com/erliang/basic-sort-algorithm
- 内部排序算法c语言简单实现实现
- 【算法】简单选择排序C语言实现
- C 语言 简单桶排序 算法&实现
- C语言简单实现冒泡排序算法
- 内部排序算法的C/C++实现
- 排序算法(C语言实现)
- C语言排序算法实现
- 排序算法--C语言实现
- 一些简单的排序算法 c 语言实现
- C语言简单选择排序算法的实现
- 【排序】内部排序算法实现
- 几种常见内部排序算法分析与实现(C语言描述)
- C语言实现排序算法---希尔排序
- Python语言实现内部排序
- 常见的9种内部排序(C语言实现)
- 内部排序算法C++实现
- java实现内部排序算法
- 内部排序算法C++实现
- SQL 模糊查询
- 那些争议最大的编程观点
- Parcelable 应用举例
- 发改委:三家电商正自查整改 厂商退出京东
- 40%的移动广告点击都是没价值的
- 内部排序算法c语言简单实现实现
- hibernate的一个小问题(BUG?)
- linux的几种定时器实现-(timer implementation under linux)
- android 找不到源
- wireshark使用说明
- android 安全退出应用程序
- oracle定时任务学习笔记
- NHibernate3版本新特性介绍
- 埃尔米特矩阵