Sorting in arrays

后端 未结 4 1244
被撕碎了的回忆
被撕碎了的回忆 2021-01-24 09:38

While sorting an array for ex: A[5]={1,4,5,3,2} the output must be 1,2,3,4,5 in ascending order. in using the concept of bubble sorting my output is 0,1,2,3,4 what would be the

相关标签:
4条回答
  • 2021-01-24 09:58

    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];
    
    0 讨论(0)
  • 2021-01-24 10:01

    Why not use the STL sort?

    #include <algorithm>
    
    std::sort(A, A+5);
    
    0 讨论(0)
  • 2021-01-24 10:08

    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]
    }
    
    0 讨论(0)
  • 2021-01-24 10:19

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

    0 讨论(0)
提交回复
热议问题