#include<iostream>
using namespace std;
//...............................冒泡排序
/*
冒泡排序的数据比较次数与输入序列中各待排序元素的初始排列无关,但数据的交换次数与各待排序元素的初始排列有关。
*/
#if 0
#define N 10
void BubbleSort( int a[],int n)
{
int i,j;
int temp;
bool exchange;
for(i = 1;i<n;i++)
{
exchange = false; //先假设没有发生交换
for(j = n-1;j>=i;j--) //从后向前检查是否发生逆序
{
if(a[j-1]>a[j])
{
temp = a[j-1];
a[j-1] = a[j];
a[j] = temp;
exchange = true; //此时为有交换状态
}
if(exchange =false) //无逆序,即全部元素已经排好序,结束排序
return ;
}
}
}
int main()
{
int a[N];
int i;
for(i = 0;i<N;i++)
cin>>a[i];
BubbleSort(a,N);
for(i = 0;i<N;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
#endif
排序--冒泡排序
最新推荐文章于 2024-08-26 09:09:41 发布