数组排序升序-冒泡排序

时间:2019-02-25 04:24:10

标签: c++ arrays bubble-sort

我试图以升序排列我的数组,但它给了我一个不同的值:

#include <iostream>

int main ()
{
    const int size = 5;
                //    0  1  2  3  4
    int arr[size] = {50,20,54,12,23};

    for (int i=0; i<5; i++) //! bubble sort ascending order
    {
        for (int j=i; j<5; j++)
        {   //      50        20
            if (arr[j] > arr[j+1])
            {
                int temp = arr [j+1];
                arr [j+1] = arr [j];
                arr [j] = temp;
            }
        }
    }

    for (int i=0; i<5; i++)
    {
        std::cout<<arr[i]<<" ";
    }

    return 0;
}

它不起作用的事实是,它可能是循环末尾的空数组值(arr [6])弄乱了总值吗?如果是这样,它应该能够排序到最后一个数组大小,但是却给出了不同的输出

输出:20 12 0 23 50

1 个答案:

答案 0 :(得分:0)

为防止出现问题,请更改:

  • SELECT ty.locationid FROM tablename TY INNER JOIN tablename y ON TY.locationid = Y.locationid AND TY.contractid <> Y.contractid GROUP BY ty.locationid i<5
  • size-1j<5
  • size-1-ij=i

代码:

j=0