Sorting in arrays

让人想犯罪 __ 提交于 2019-12-02 07:00:00

You need to limit your inner loop to <4:

int A[5]={1,5,3,2,4};
for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
        if(A[j]>A[j+1])
        {
           int t=A[j];
           A[j]=A[j+1];
           A[j+1]=t;
        } 
    }
}
for(i=0;i<5;i++)
   cout<<A[i];

Why not use the STL sort?

#include <algorithm>

std::sort(A, A+5);

Perhaps you are printing i instead of A[i] in the printing loop, as in

for( int i = 0; i < N; i++ ) {
    cout << i << ",";          // by mistake, printing i instead of A[i]
}

Is there a reason you are doing bubble sort, other then trying to learn it? It's one of the slower sorts.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!