冒泡排序 C++实现

时间:2022-12-29 20:42:45
#include <iostream>
using namespace std;
#define MAX_SIZE 8
int main()
{
int arry[MAX_SIZE];
for(int i=0;i<MAX_SIZE;i++)
cin>>arry[i]; //随机输入
for(auto c:arry)
cout<<c<<" "; //检测输入的结果
cout<<endl; //换行,结果清晰
bool flag=false; //标志位
for(int i=0;i<MAX_SIZE-1;i++) //总共进行N-1次排序
{

for(int j=MAX_SIZE-1;j>i+1;j--)
{
if(arry[j]<arry[j-1]) //如果后面的比前面的小,则发生交换
{
int temp;
temp=arry[j];
arry[j]=arry[j-1];
arry[j-1]=temp;
flag=true; //发生了交换,则标志位为真
continue; //结束此循环
}
else
flag=false; //未发生交换

}
if(!flag) //如果flag为假则未发生交换,则有序,结束循环
break;
}
for(auto c:arry)
cout<<c<<" ";
return 0;
}