冒泡排序
从左向右扫描数据,选择最大的数据,放在右边。
要点:比较相邻的两个数,如果左边的数大于右边的数就进行交换
#include<iostream>
using namespace std;
void BubbleSort(int list[], int n); //写函数的声明,要排序的数据放在一个数组里,数据的个数用n表示
int main()
{
int a[] = { 2,4,6,8,0,1,3,5,7,9 };
BubbleSort(a, 10);
for (int k = 0; k < 10; k++)
cout << a[k] << " ";
cout << endl;
return 0;
}
void BubbleSort(int list[], int n) //写函数的定义
{
for (int i = 0; i < n-1; i++) //10个数据扫描9遍,最后一个不用扫描,所以n个数据扫描n-1遍
{
for (int j = 0; j < n-i-1; j++)
{
if (list[j] > list[j + 1]) //如果左边的大于右边的,进行交换
std::swap(list[j], list[j + 1]); //当时把j写成i,运行不出来,std:: 可以省略
}
}
}
//16-21 冒泡排序只要4行代码
//每一次扫描的过程中选择最大的,把它放到右边
定期更新简单易懂的算法知识以及专业知识技能,点下关注喽