1. 程式人生 > >嘔心瀝血演算法題——撲克牌排列

嘔心瀝血演算法題——撲克牌排列

// 下面程式碼模擬了一套撲克牌(初始排序A~K,共13張)的操作過程。
// 操作過程是:
// 手裡拿著這套撲克牌,從前面拿一張放在後面,再從前面拿一張放桌子上,再從前面拿一張放在後面,....
// 如此迴圈操作,直到剩下最後一張牌也放在桌子上。
// 下面程式碼的目的就是為了求出最後桌上的牌的順序。
// 初始的排列如果是A,2,3...K,則最後桌上的順序為:

let a = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"];

function moveCard(src) {
   if (src == null) {
      return null;
   }
   let dest = [];
   while (src.length > 0) {
      src.push(src.shift());
      dest.push(src.shift());
   }
   return dest;
}

console.log(moveCard(a));