1、冒泡排序法
作用: 最常用的排序算法,对数组内元素进行排序
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
- 重复以上的步骤,每次比较次数-1,直到不需要比较
关键:
- 每一行的检测次数是该行元素数-1
- 每一列的检测次数等于总元素数-1
// 冒泡排序
for (int i = 0; i < sum - 1; i )
{
for (int j = 0; j < sum - 1 - i; j )
{
if (arr[j] > arr[j 1]) // 从小排到大
{
int temp = arr[j];
arr[j] = arr[j 1];
arr[j 1] = temp;
}
}
}
2、完整代码
代码语言:javascript复制#include <iostream>
using namespace std;
// 主函数
int main()
{
int arr[] = { 1,3,5,7,9,2,4,6,8 }; // 待排序数组
int sum = sizeof(arr) / sizeof(int); // 数组长度
// 冒泡排序
for (int i = 0; i < sum - 1; i )
{
for (int j = 0; j < sum - 1 - i; j )
{
if (arr[j] > arr[j 1])
{
int temp = arr[j];
arr[j] = arr[j 1];
arr[j 1] = temp;
}
}
}
// 打印数组
for (int i = 0; i < sum; i)
{
cout << arr[i] << " ";
}
cout << endl;
return 0;
}