• 算法导论-插入排序


    这是算法中较为基础的一个算法, 其原理 与打牌时候的摸牌类似,我们把一堆牌不看摸好了上来, 接下来我们要对我们的牌进行处理,那我们一般的方法就是 比如 这张牌 先 看它前面的是否有比他大的,如果有的,我们就插到 那张牌的前面。 在计算机语言里面,我们可以模拟成一个数组,进行插入排序,当前 " 牌 "与其 “之前的牌”进行比较,如果 大于的话,把大于的向后移动,找到不比 “当前牌” 大的牌之后, 插入。我们进行如下的描述。


    其 算法描述 如下:(升序)
    假设 数据 A[N]

    for( i 从数组的第二个数开始 到A.Length){
    //设置临时变量存储当前 " 牌 " temp=A[ i ]
    //设置流动的数 j=i-1; (即从 i 的前一个开始判断)
        while( j > = 0 && A[ j ]>temp){//(判断 j 是不是有效 并且当前面一个
    //数大于后 面时执行如下操作)
            A[j+1]=A[j];// 如果有,将前面一张"牌" 赋值 给 当前的 " 牌 "
            j--;// j 继续向前走, 看是否有比当前 " 牌 "大的"牌"
    }
    A[j+1]=temp;//如果没有,则把当前"牌 " 赋值给最后一个比 当前"牌" 大 的"牌"  
    }      
  • 相关阅读:
    Redis学习笔记
    Sevrlet 工作原理解析-转
    Spring MVC基础学习
    JVMGC机制
    MyBatis基础学习笔记--摘录
    MyBatis基础学习笔记--自总结
    Spring基础复习
    java.lang.Class类
    浅谈linux静态库、动态库。
    关于字符编码的一点学习。
  • 原文地址:https://www.cnblogs.com/xiyin/p/5856754.html
Copyright © 2020-2023  润新知