一个较好的C++冒泡排序

来源:互联网 发布:日本买房知乎 编辑:程序博客网 时间:2024/06/05 06:53
#include <iostream.h>int main(){int data[5]={5,3,2,4,1};int j,i,temp;bool flag=true;        //标志变量,用来标志某一轮中,是否有交换行为for(i=1;i<5;i++)       // 进行4轮比较  5-1次{if(flag==false)break;    //若没有发生交换,则表示数组此时已经按照我们的需求排好序。flag=false;     //每一轮开始时,置为falsefor(j=0;j<5-i;j++)      //第一轮进行4次交换,第二轮是3次…… ……{if(data[j]>data[j+1]){flag=true;    //有交换行为,置为truetemp=data[j];data[j]=data[j+1];data[j+1]=temp;}}}for(i=0;i<5;i++)   //最后输出交换后的数组{cout<<data[i]<<endl;}return 0;}