排序是编写程序遇到的最常见的数据处理手段,冒泡排序又是一种最经典的排序算法。如下图所示,举一个最简单的例子,将数组1、3、4、5、2进行排序,第一步需要进行的是红色部分的比较,判断相邻的两个数字是否是正序数,即前面的数字小于后面的数字,如果是正序就再观察判断下一对数字,如果不是就用绿色的部分进行前后数字的交换,这样从左到右一遍后再重复多次则可自动完成排序。
用C++实现的代码如下:
#includeusing namespace std;int A[5] = { 1,3,4,5,2 };int main() { for (int loop = 1; loop < 5; loop++) { for (int i = 0; i < 4; i++) { if (A[i] > A[i + 1]) { int tem = A[i + 1]; A[i + 1] = A[i]; A[i] = tem; } } cout <
输出结果:
当然如果是n个数,其loop的数字最大为n-1次。