交换类排序主要是通过两两比较待排元素的关键字,若发现与排序要求相逆,则“交换”之。在这类排序方法中最常见的是起泡排序和快速排序,其中快速排序是一种在实际应用中具有很好表现的算法。1.冒泡排序a.算法描述 起泡排序的思想非常简单。首先,将n个元素中的第一个和第二个进行比较,如果两个元素的位置为逆...
分类:
编程语言 时间:
2014-12-23 19:17:29
阅读次数:
178
一、实验目的:比较至少4种排序算法的执行效率。已学过的算法:起泡排序、选择排序、插入排序、shell排序,归并排序、快速排序等。二、实验要求:1、从中选择至少4中排序算法,写成独立的函数进行调用。2、参与排序的数据不少于5000个,要求用数据文件存储随机产生的数据。3、要求在main()函数中调用以...
分类:
编程语言 时间:
2014-11-15 21:46:55
阅读次数:
358
快速排序:快速排序的原理:(本文章供自己复习使用,如果有其他朋友想要了解快速排序,推荐网上一篇博客,地址附上:http://www.brieftime.net/articles/719引自:《数据结构(C语言版)严蔚敏》 快速排序是一类藉助“交换”进行排序的方法,是对起泡排序的改进。其基本思想是,通...
分类:
编程语言 时间:
2014-10-09 21:48:17
阅读次数:
268
对于刚接触排序的童鞋来说,冒泡排序应该是第一堂课:(虽然这种排序非常耗时)冒泡排序的原理: 我们这里假定是从小到大排列(从大到小也是一样的) 冒泡排序的过程很简单。首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换之,然后比较第二个记录和第三个记录的关键字。依次类推.....
分类:
编程语言 时间:
2014-10-08 00:39:04
阅读次数:
549
一、基本思路:
冒泡排序是一种简单的交换类排序。其基本思路是从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。
一般地,对n个元素进行冒泡排序,总共需要进行n-1趟。第1趟需要比较n-1次,第2趟需要比较n-2次,......第i...
分类:
编程语言 时间:
2014-09-12 17:20:33
阅读次数:
200
快速排序是从起泡排序改进而得的一种“交换”排序方法。它的基本思想是通过一趟排序将待排记录分割成相邻的两个区域,其中一个区域中的元素均比另一个区域中元素小(区域内不见得有序)则可对这两个区域内的元素进行再排序,以达到整个序列有序。//快速排序#includeint Partition(int a[] ...
分类:
其他好文 时间:
2014-07-16 18:52:04
阅读次数:
156
交换排序:两两比较待排序记录的关键码,若是逆置,则交换,直到无逆置。其中最简单的交换排序是:冒泡排序。
冒泡排序(Bubble Sort,也叫起泡排序):不断地比较相邻的记录,若是不满足排序要求,则交换。
交换时,可从前向后,也可从后向前。看一个从前向后的排序过程:...
分类:
其他好文 时间:
2014-06-15 08:59:39
阅读次数:
280