运行主要代码时,报错或运行混乱,如何解决?(语言-c++)

本题大义是从小到大排序。

#include<bits/stdc++.h>
using namespace std;
int n,arr[1000],i,air=0,check=0;
int main()
{
    cin>>n;
    for(i=0;i<=n-1;i++)
    {
        cin>>arr[i];
    }
    for(i=0; ;i++)
    {
        cout<<">>--------<<"<<endl;
        if(arr[i]<arr[i-1])
        {
            air=arr[i];
            arr[i]=arr[i-1];
            arr[i-1]=air;
        }
        if(i==arr[n-1])
        {
            i=0;
            check=check+1;
            cout<<"-+-+-+-"<<endl;
        }
        if(check==n/2)
        {
            for(i=0;i<=n-1;i++)
            {
                cout<<arr[i]<<" ";
            }
            break;
        }
    }
    for(i=0;i<=n-1;i++)
    {
        cout<<arr[i]<<" ";
    }
    return 0;
}

逻辑太乱了
建议学一下八大排序算法

看不懂你的逻辑
建议试试冒泡排序、箱排序、sort