当前位置 博文首页 > 饼干的博客:Devc++排序算法1 冒泡排序
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long g;
cin>>g;
long long n[g+1];
for(long long i=1;i<=g;i++)
cin>>n[i];
for(long long i=g;i>=1;i--)
{
for(long long j=1;j<i;j++)
{
if(n[j]>n[j+1])
{
swap(n[j],n[j+1]);
}
}
}
for(long long i=1;i<=g;i++)
cout<<n[i]<<" ";
return 0;
}
优化版:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long g;
bool ok;
cin>>g;
long long n[g+1];
for(long long i=1;i<=g;i++)
cin>>n[i];
for(long long i=g;i>=1;i--)
{
ok=1;
for(long long j=1;j<i;j++)
{
if(n[j]>n[j+1])
{
swap(n[j],n[j+1]);
ok=0;
}
}
if(ok)break;
}
for(long long i=1;i<=g;i++)
cout<<n[i]<<" ";
return 0;
}
优化版主要利用bool变量,减少循环次数
声明:
以上是我原创的代码,请勿抄袭,转载请标明作者!!!
cs