• #include stdio.h(5)


    #include <stdio.h>
    int main()
    {
      //1、数组的排序-冒泡排序
        /*
         1、规则:相邻的两个数据进行比较
         2、如果有N个数据,需要选择N-1次参照物来比较,
            因为最后一次的数据,都被别人比过了
         3、第一个选择比较参考数据的时候,会和后面(N-1)个数据都比较
            第2个数据,会比较N-2次
            第3个数据,会比较N-3次
         4、冒泡排序关键点
            4.1有两个for循环,外层循环N-1次,内层循环N-i-1次
            4.2有1个if语句,用来判断大小是否需要交换的,
               根据当前列和后一列数据进行比较,所以使用内层变量
            4.3有一个交换的代码块,
               交换的代码块需要借助一个临时变量
    
        */
    
        int  array[5] = {5,4,3,2,1};
        //选择比较参考数据的
        for(int i=0;i<5-1;i++)//N-1                               
        {
           //当i=0的时候 a[i] = 5  4次=N-i-1
           //当i=1的时候 a[i] = 4  3次=N-i-1
           //当i=2的时候 a[i] = 3  2次=N-i-1
           //内层循环,1个参考数据,会比较几次
           for(int j=0;j<5-i-1;j++)//N-i-1
           {
                //比较的代码
               //因为比较的时候是,
               //当前一列的数据和后一列的数据进行比较,
               //所以在选择的使用内层循环变量而不是外层变量
              if(array[j] > array[j+1])//判断大小
              {
                  //交换的代码
                   int temp = 0; 
                   temp = array[j];
                   array[j] = array[j+1];
                   array[j+1] = temp;
              }
           }
        }
    
       for(int k=0;k<5;k++)
       {
         printf("%d
    ",array[k]);
       }
       
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      return 0;
    }
  • 相关阅读:
    使用Microsoft.DirectX和Microsoft.DirectX.Sound进行录音时遇到的异常
    一个奇怪的TextChanged事件
    正则表达式
    lambda详解
    AOP统一处理请求
    SpringBoot表单参数验证
    208道Java常见面试题
    Java100道基础面试题
    Java多线程面试题
    Java编码规范
  • 原文地址:https://www.cnblogs.com/lishch/p/9329826.html
Copyright © 2020-2023  润新知