八大排序算法分类:数据结构与算法c/c++2012-07-23 16:4545743人阅读评论(32)收藏举报算法mergepivot存储exchange目录(?)[-]概述插入排序直接插入排序Straight Insertion Sort插入排序希尔排序Shells Sort选择排序简单选择排序S...
分类:
编程语言 时间:
2014-11-05 22:58:52
阅读次数:
311
前几天实现了直接插入排序、冒泡排序和直接选择排序这三个基础排序。今天看了一下冒泡排序的改进算法,快速排序。单独记录一下,后面还有归并和基数排序等快速排序1.选择一个支点默认为数组第一个元素及array[start]作为支点,将所有大于支点元素的值放到支点后面,将所有小于支点元素的值放到支点前面,完成...
分类:
编程语言 时间:
2014-11-05 22:58:49
阅读次数:
345
直接插入排序
/*总是将a[i]与a[i+1]作比较,temp记录两者中较小的数
然后对这个数左边遍历将比temp大的数右移,
然后在空出来的位置上插入temp进行排序*/
#include
insert_sort(int a[],int n)
{
int i,j,temp;
for(i=1;i<n;i++)
{
if(a[i] <a[i-1])
{
temp=a[i];...
分类:
编程语言 时间:
2014-11-05 19:45:11
阅读次数:
271
排序算法比较常见的有:冒泡排序、简单选择排序、直接插入排序;希尔排序、堆排序、归并排序和快速排序算法等。今天先学习一下前面三种比较简单的算法。排序的相关概念:
①排序的稳定性:两个或多个元素相等,排序过后仍然是原来的顺序则为稳定排序。
②内部排序:排序过程都在内存中进行;外部排序:需要对外存进行访问的排序过程。
③内排序算法性能因素:1、时间性能,比较与移动;2、辅助空间;3、算法复杂性
...
分类:
编程语言 时间:
2014-11-05 10:59:35
阅读次数:
228
排序算法总是分不清,借了本数据结构来专门看了一下说一下分类,主要有五类,插入排序,交换排序,选择排序,基数排序和归并排序今天中午看了一下插入排序中的直接插入排序,交换排序的冒泡排序,选择排序中的冒泡排序1.插入排序将数组分成两个部分,一个是有序,一个是无序。将无序的每个元素插入到有序中,一共需要n ...
分类:
编程语言 时间:
2014-11-04 19:34:42
阅读次数:
336
概述插入排序直接插入排序Straight Insertion Sort 插入排序希尔排序Shells Sort 选择排序简单选择排序Simple Selection Sort选择排序堆排序Heap Sort 交换排序冒泡排序Bubble Sort交换排序快速排序Quick Sort归并排序Merge...
分类:
编程语言 时间:
2014-11-04 12:59:07
阅读次数:
360
直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其keyword大小插入到前面已经排好序的子序列中的适当位置,直到所有记录插入完毕为止。设数组为a[0…n-1]。1. 初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=12. 将a[i]并入当前的有...
分类:
编程语言 时间:
2014-11-03 20:46:19
阅读次数:
189
2. 插入排序—希尔排序(Shell Sort)希尔排序是1959年由D.L.Shell提出来的,相对直接排序有较大的改进。希尔排序又叫缩小增量排序。基本思想: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,在对全体记录依次进行直接插入排序。...
分类:
编程语言 时间:
2014-11-01 21:49:17
阅读次数:
209
1.插入排序—直接插入排序(Straight Insertion Sort)基本思想: 将一个记录插入到已经排序好的有序表中,从而得到一个新、记录数增1的有序表。即:先将序列的第一个记录看成是一个有序的子序列,然后从第二个记录逐个进行插入,直至整个序列有序为止。 要点:设立哨兵,作为临时...
分类:
编程语言 时间:
2014-11-01 17:27:53
阅读次数:
165
一、直接插入排序 1 class Program 2 { 3 /// 4 /// swap two number 5 /// 6 /// 7 /// 8 static void S...
分类:
编程语言 时间:
2014-10-31 15:21:27
阅读次数:
182