C++旧版课程库
C++第 2 期查看课程总览

040 数组 - 排序

主要内容

1. 排序

对数组排序,是编程中非常重要的。 下面简单介绍“冒泡排序”算法。

1.1 冒泡排序

  • 1. 从序号 0 开始,选择两个相邻的数;
  • 2. 比较这两个数的大小;
  • 3. 如果是按从小到大排列,就把小的放在左边,大的放在右边;从大到小,则相反;
  • 4. 移动到下一个位置
  • 5. 重复步骤2-4
  • 6. 到最后一个元素后,回到开头位置
  • 7. 重复步骤1-6
  • 8. 全部排好后,退出循环
  • * 步骤 6 ,对终止位置,可以做如图所示的优化。
  • 试一试: 请定义数组{6,5,3,1,8,7,2,4},然后将它从小到大排列。
    
    /*
        请完成后,查看示例程序
    
    
    
    
    */
    

    1.2 代码

    示例代码:
    
    #include < iostream >
    using namespace std;
    int main()
    {
        int arr[] = {6,5,3,1,8,7,2,4};
        int arr_size = sizeof(arr) / sizeof(arr[0]);
    
        for(int i=0; i < arr_size; i++)
        {
            for(int j=i; j < arr_size; j++)
            {
                if(arr[i] > arr[j]) // 从小到大排序
                {
                    int a = arr[i];
                    arr[i] = arr[j];
                    arr[j] = a;
                }
            }
        }
    
        return 0;
    }
    

    习题

    课后练习