冒泡排序和选择排序


算法学习打卡第一天

学习内容来自牛客网:https://www.nowcoder.com/study/live/716

一、冒泡排序

     // 和下一个比较,大的靠后站,像冒泡泡一样
     for(int i = 0; i < n-1; i++)
    {
         for(int j = 0; j < n-i-1; j++)// 后面的排好了的就不用动了,所以减去 i+1
        {
             if(arr[j] > arr[j+1]){
                 int tmp = arr[j];
                 arr[j] = arr[j+1];
                 arr[j+1] = tmp;
            }
        }
    }

二、 选择排序

     // 找出最小数,最小的数和第一个数交换,以此类推
     for(int i = 0; i < n-1; i++)
    {
         int min = i;
         for(int j = i+1; j < n; j++)// 前面的数拍好了不用比较,从i+1开始找第i小的数
        {
             if(arr[min] > arr[j]){
                 min = j;
            }
        }
         swap(arr[min],arr[i]);
    }