//冒泡排序思想:假设待排序表长为n,从后往前(或从前往后)两两比较相邻元素的值,若为逆序
//则交换它,直到序列比较完为止。这是一趟排序,最小的元素就会想泡沫一样漂浮到第一个为止。
//第二趟的时候,第一个位置就不用比较了。
#include<iostream>
using namespace std;
void BubbleSort(int a[],int n)
{
//用冒泡排序把数组中的元素暗从小到大排序
for(int i=0;i<n;i++)
{
bool flag = false;//设一个标志符,检验本趟是发生交换
for(int j=n-1;j>i;j--)
{
if(a[j-1]>a[j])
{
swap(a[j-1],a[j]);
flag = true;
}
}
if(flag == false)//表示本趟没有发生交换
return;
}
}
void main()
{
int a[5]={4,0,2,3,1};
BubbleSort(a, 5);
for(int i=0;i<5;i++)
cout<<a[i]<<' ';
cout<<endl;
}
冒泡排序(升序)
最新推荐文章于 2023-12-11 17:02:45 发布