一开始只用了一层循环,但冒泡排序需要双层循环。
#include<iostream>
using namespace std;
const int N=1000;
int a[N],n;
void sort(int a[], int l, int r)
{
int tmp;
int flag=0;
for(int i=l;i<r;i++)
{
for(int i=l;i<r;i++)
{
if(a[i]>a[i+1])
{
flag=0;
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
}
if(flag==0)
i=l;
flag=1;
}
}
for(int i=0;i<n;i++)
cout << a[i] << " ";
}
int main()
{
//freopen("xxx.in","r",stdin);
//freopen("yyy.out","w",stdout);
int l,r;
cin >> n >> l >> r;
for(int i=0;i<n;i++)
cin >> a[i];
sort(a,l,r);
//fclose(stdin);
//fclose(stdout);
return 0;
}