冒泡排序程序实现如下:
#include <iostream>
using namespace std;
#define N 10
int main()
{
int a[N]={0};
int i,j;
for(i=0;i<N;i++)
cin>>a[i];
/*
//从前向后找
for(i=0;i<N-1;i++)
{
for( j=i+1;j<N;j++)
{
if(a[i]>a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
*/
//从后向前找
for(i=0;i<N-1;i++)
{
for(j=N;j-i>0;j--)
{
if(a[i]>a[j-1])
{
int t=a[i];
a[i]=a[j-1];
a[j-1]=t;
}
}
}
for(i=0;i<N;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
程序运行结果:
冒泡排序法的实现需要两层循环:外循环找出第N个轻的气泡,也就是最小的数,内层循环找到剩余的M个气泡中最轻的气泡;