冒泡算法时的问题,不知道有什么问题

img


给你  n个整数,现在要你从小到大排序后输出
输入格式
第一行一个整数 
接下来一行输入 n 个整数
输出格式
输出一行,为从小到大排序后的 n 个整数
样例

img

样例输入
5
3 1 8 6 1
样例输出
1 1 3 6 8

应该是交换的时候错了,应该改成这样。

#include<bits/stdc++.h>
using namespace std;
int a[1000]; 
int main()
{
    int x;
    cin>>x;
    for(int i=0;i<x;i++)cin>>a[i];
    for(int i=0;i<x;i++)
        for(int j=0;j<x-1;j++)
            if(a[j]>a[j+1]) swap(a[j],a[j+1]);
    for(int i=0;i<x;i++)cout<<a[i]<<" "; 
   return 0;
}

img