排序--冒泡排序

来源:互联网 发布:李涛疯狂淘宝上市 编辑:程序博客网 时间:2024/06/05 17:09
#include<iostream>using namespace std;//...............................冒泡排序/*  冒泡排序的数据比较次数与输入序列中各待排序元素的初始排列无关,但数据的交换次数与各待排序元素的初始排列有关。*/#if 0#define N 10void 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
原创粉丝点击