扑克牌排列

标签: 扑克牌排列 蓝桥杯真题
1人阅读 评论(0) 收藏 举报

下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程。
操作过程是:
手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,….
如此循环操作,直到剩下最后一张牌也放在桌子上。
下面代码的目的就是为了求出最后桌上的牌的顺序。
初始的排列如果是A,2,3…K,则最后桌上的顺序为:
[2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]
请分析代码逻辑,并推测划线处的代码。
答案写在“解答.txt”文件中
注意:只写划线处应该填的内容,划线前后的内容不要抄写。

核心代码:

import java.util.Arrays;  
import java.util.List;  
import java.util.Vector;  
public class Demo05 {  
    public static List moveCard(List src) {  
        if (src == null)  
            return null;  
        List dst = new Vector();  
        for (;;) {  
            if (src.size()==0)  
                break; // 填空   
            src.add(src.remove(0));  
            dst.add(src.remove(0)); // 填空   
        }  
        return dst;  
    }  
    public static void main(String[] args) {  
        List a = new Vector();  
        a.addAll(Arrays.asList("A", "2", "3", "4", "5", "6", "7", "8", "9",  
                "10", "J", "Q", "K"));  
        System.out.println(moveCard(a));  
    }  
}  

运行结果:
[2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]

查看评论

洗扑克牌(乱数排列)(c/python略)

洗扑克牌的原理其实与乱数排列是相同的,都是将一组数字(例如1~N)打乱重新排列,只不过洗扑克牌多了一个花色判断的动作而已。原理:以1~52的乱数排列为例好了,可以将阵列先依序由1到52填入,然后使用一...
  • qq_34637408
  • qq_34637408
  • 2017-11-21 10:15:34
  • 167

C经典算法之洗扑克牌(乱数排列)

  • 2011年09月22日 11:21
  • 1KB
  • 下载

算法 洗扑克牌(乱数排列)

From Gossip@caterpillar Algorithm Gossip: 洗扑克牌(乱数排列) 说明 洗扑克牌的原理其实与乱数排列是相同的,都是将一组数字(例如1~N)打乱重新...
  • xushuaic
  • xushuaic
  • 2013-02-26 21:42:30
  • 1314

2015编程之美挑战赛:扑克牌 全排列

第一题:扑克牌 题目连接:http://hihocoder.com/contest/msbop2015round2b/problem/1 时间限制:2000ms 单点时限:1000ms 内存限...
  • AC_Gibson
  • AC_Gibson
  • 2015-04-27 12:24:06
  • 839

54张扑克牌,用一张png图片排列

  • 2018年01月30日 17:21
  • 194KB
  • 下载

Algorithm Gossip (24) 洗扑克牌(乱数排列)

Algorithm Gossip: 洗扑克牌(乱数排列)
  • actanble
  • actanble
  • 2017-04-14 20:44:26
  • 145

洗扑克牌 (乱数排序)

解法:      初学者通常会直接想到,随机产生1~N的乱数并将之存入阵列中,后来产生的乱数存入阵列前必须先检查阵列中是否已有重复的数字,如果有这个数字就不存入,在重新产生下一个数。运气不好的话,重...
  • holymaple
  • holymaple
  • 2013-02-13 17:33:16
  • 1004

利用拿扑克牌让你几分钟搞定插入排序算法

先拿一个j,然后拿到一个k放在j的后面接着拿到一个A,放入k后面,现在拿到一个Q 那么我们必须把Q插入到K中,那么我们必须拿Q和A到J之间的一一比较最终找到一个合适的位置插进去。现在上代码 //插入...
  • qq_33060405
  • qq_33060405
  • 2017-11-12 12:20:20
  • 321

Java算法-扑克牌排列

/** * 下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程。 * * 操作过程是: 手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,....
  • u010870518
  • u010870518
  • 2015-04-09 20:49:35
  • 3149

随机打算扑克顺序

//混乱扑克 VOID CGameLogic::RandCardList(BYTE cbCardBuffer[], BYTE cbBufferCount) { //测试代码 //CopyMemor...
  • ganpengjin1
  • ganpengjin1
  • 2015-12-22 18:12:19
  • 849
    个人资料
    专栏达人
    等级:
    访问量: 317
    积分: 447
    排名: 11万+
    博客专栏
    文章存档
    最新评论