无法获得Codechef Turbo排序所需的输出

时间:2016-09-10 14:56:03

标签: c++

#include <iostream>
using namespace std;

int main() {

    int N[100000]={0};
    int t,i,temp;temp=0;
    cin>>t;

    for(i=0;i<t;i++)
        cin>>N[i];
    for(i=0;i<t;i++){
        if(N[i+1]<N[i])
         temp = N[i];
         N[i]=N[i+1];
         N[i+1]=temp;
    }

    for(i=0;i<t;i++){
        cout<<N[i]<<endl;

    }

    return 0;
}

我无法获得所需的输出。我记得这个排序代码工作得比较早,但是在这里它没有用。

1 个答案:

答案 0 :(得分:0)

排序功能不正确。看起来你试图在这里实现冒泡排序。这是Bubble Sort的一个实现:

for (i = 0; i < t-1; i++)
{
    for(int j=0;j<t-i-1;j++)
    {
        if (N[j] > N[j+1])
        {
            temp=N[j];
            N[j]=N[j+1};
            N[j+1]=temp;
        }
    }
}

希望这会有所帮助。祝你好运!