冒泡排序效率非常低,实际的软件的很少用,除了数据非常少。从左向右扫描数据,选择最大的的数据,放在右边。
要点:比较相邻的两个数,如果左边的数据大于右边的就进行交换。
#include<iostream>
using namespace std;
void BubbleSort(int list[],int n);//冒泡算法只有四行
int main()
{
int a[] = {2,4,6,8,0,1,3,5,9,7};
BubbleSort(a,10);
for(int k = 0;k<10;k++)
cout<<a[k]<<" ";
cout<<endl;
system("pause");
return 0;
}
void BubbleSort(int list[],int n)
{
//数组有n个数,外边的循环次数为n-1次
for(int i = 0;i<n-1;i++)
{
//内部循环每次都会减小,越来越少,因为大的数被放倒最右边
for(int j =0;j<n-i-1;j++)
{
if(list[j]>list[j+1])
swap(list[j],list[j+1]);
}
}
}