zoukankan      html  css  js  c++  java
  • 算法

    案例: 打扑克牌,我们按数字从小到大放置。。 我们摸到 牌 4 , 然后摸到2 ,那么2和4换位, 然后摸到 1 ,把4放到第三张,然后把2放到第二张,然后把1 放到第一张。。

    现有牌 

    2 4

    摸到牌 1  ,,  定义一个key 存放1 。。  然后依次比较现有的牌。。 4比1 大,,把4往后放。

    2 4 4

    然后2比1大,把2往后放

    2 2 4

    比较完成后,把1 放到最后发生移动的位置。即2的位置。。 

    1 2 4

    java代码实现如下

          

    package com.mytest.algorithm;
    
    import com.sun.deploy.util.ArrayUtil;
    
    import java.util.Arrays;
    
    /**
     * @author zhangc
     * @since 2018/9/12 15:15
     * 插入排序
     **/
    public class InsertSort {
    
        public static void main(String[] args) {
            int[] a = {5,2,1,6,3,4};
            for(int i=1;i<a.length;i++){
                int key = a[i];
                int j = i-1;
                while (j>=0 && key<a[j]){ //拿当前的牌依次和前面的牌比较,如果成立就将被比较的牌换到该牌的后一位。
                    a[j+1] = a[j];
                    j --;
                }
                a[j+1] = key;
            }
    
            System.out.println(Arrays.toString(a));
        }
    
    
    }
    

      

      

      

                  

  • 相关阅读:
    python 高阶函数
    python 列表
    python 模块
    浅谈HashMap原理,记录entrySet中的一些疑问
    extjs Tree中避免连续单击会连续请求服务器
    Java类的加载顺序
    mybatis中集成sharing-jdbc采坑
    tomcat采坑
    AQS原理
    Redis分布式锁原理
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/9638688.html
Copyright © 2011-2022 走看看