冒泡排序

2022-08-10 19:57:39 浏览数 (1)

1、冒泡排序法

作用: 最常用的排序算法,对数组内元素进行排序

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
  3. 重复以上的步骤,每次比较次数-1,直到不需要比较

关键

  1. 每一行的检测次数是该行元素数-1
  2. 每一列的检测次数等于总元素数-1
代码语言:javascript复制
// 冒泡排序
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;
}

0 人点赞