zoukankan      html  css  js  c++  java
  • 插入排序

    插入排序思想

    假设有一个int类型,数组长度为n的数组

    1.我们要保证数组下标在0~0中有序排列,这是肯定的,在0~0中只有一个数字

    2.保证数组下标在0~1中有序,我们要比较下标为0与下标为1的数字,若下标为1大于下标为0的数字,就进行交换

    3.保证数组下标在0~2中有序,因为下标在0~1中已经有效,所以只需用数组下标为2的数与0~1中数进行比较

    。。。。。。。。

    保证数组下标在0~n-1中有序,就要用数组下标为n-1的数与数组下标为0~n-2范围中的数字进行比较

    代码

     1         int[] a = {6,4,5,3,1};
     2         //数组下标范围在0~0中已经有效,所以外层循环从1开始,即从范围0~1开始
     3         for (int i = 1; i < a.length; i++){
     4             //每一次都是下标最后的数字与前面下标的数字逐个比较,直到比较到数组下标为0时结束
     5             for (int j = i-1; j >=0; j--){
     6                 if (a[j] > a[j+1]){
     7                     int b = a[j];
     8                     a[j] = a[j+1];
     9                     a[j+1] = b;
    10                 }
    11             }
    12         }
    13         for (int i = 0; i < a.length; i++){
    14             System.out.println(a[i]);
    15         }    
  • 相关阅读:
    Effective C++:条款14:在中小企业资源管理copying表现
    Linux在iptables教程基本应用防火墙
    C++内存分配和拷贝构造函数写研究
    Codeforces 479E Riding in a Lift(dp)
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/lyc-code/p/12955947.html
Copyright © 2011-2022 走看看