您的位置:首页 > 其它

排序算法之冒泡排序

2012-09-12 20:03 183 查看
冒泡排序是我学习的最早的排序算法。它很简单:遍历文件,如果临近的两个元素的顺序不对,那么就将两者交换,重复这样的操作直到整个文件排好序。

一种实现算法:

#include <iostream>
#include <stdlib.h>
using namespace std;
template <typename Item>
void compexch(Item &A,Item &B)
{
if (B<A)
exch(A,B);
}
template <typename Item>
void bubble(Item a[], int l, int r)
{
for (int i=l;i<r;i++)
{
for (int j=r;j>i;j--)
{
compexch(a[j-1],a[j]);
}
}
}
void main()
{
int i;
int N=10;
int *a=new int
;
int sw=1;

if(sw)
{
for(i=0;i<N;i++)
a[i]=1000*(1.0*rand()/RAND_MAX);
}
else
{
N=0;
while(cin>>a
)
N++;
}
for(i=0;i<N;i++)
cout<<a[i]<<" ";
cout<<endl;
bubble(a,0,N-1);
for(i=0;i<N;i++)
cout<<a[i]<<" ";
cout<<endl;
}


执行结果:



(To Be Continued...)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: