》冒泡排序法可以形象地描述为:使较小的值像空气泡一样逐渐“上浮”到数组的顶部,而较大的数值逐渐“下沉”到数组的底部。这种排序技术要排好几轮,每一轮都要比较连续的数组元素对。如果某对数值是按升序排列,那就保持原样。如果按降序排列,就交换它们的值。
例:
#include<iostream>
using namespace std;
void bubble(int v[],int size);
int main(){
int vn[]={21,25,26,45,12,69,74,49,83,10};
int len=sizeof(vn)/sizeof(int); //计算数组长度
for(int i=0;i<len;i++) //输出排序前的数组
cout<<vn[i]<<",";
cout<<endl<<endl;
bubble(vn,len);
system("pause");
return 0;
}
void bubble(int v[],int size)
{
int i,temp;
for(int p=1;p<size;p++)
{
for(i=0;i<size-p;i++)
if(v[i]>v[i+1])
{
temp=v[i];
v[i]=v[i+1];
v[i+1]=temp;
}
for(i=0;i<size;i++)cout<<v[i]<<",";
cout<<endl;
}
}
运行结果: