冒泡排序是一种相邻数据交换的排序方法,通常作为排序算法的入门算法来学习。
基本思想:对待排序的记录关键字从后往前(扫面顺序不同相应比较就不同)进行多遍扫描,当发现相邻俩关键字的次序与要求的排序规则不符时,就交换这俩个记录。这样,关键字较小的记录将从后面向前面移动,就像气泡上浮一样。
具体交换过程:
设需排序的记录共n个,其关键字用数组a保存,则:(规则为从小到大)
(1)首先,将a[n-1]与a[n-2]进行比较,若a[n-1]<a[n-2],则交换a[n-1]与a[n-2];
(2)修改数组下标,使需要比较的元素为a[n-2]与a[n-3],重复步骤(1),对其做比较;
重复该过程,直至比较完a[1]与a[0],完成一遍扫描后,最小关键字已存储在a[0]中;
(3)重复,进行第二遍扫描,扫描到a[2]与a[1]比较即结束;
(4)通过第n-1遍扫描,所有关键字排序完成。
c++代码实现:
1.随机数生成部分 CreatData
2.冒泡排序部分 BubbleSort
3.main函数测试部分 BubbleSortTestMain