close
Shuffle a given array
Given an array, write a program to generate a random permutation of array elements. This question is also asked as “shuffle a deck of cards” or “randomize a given array”.
Fisher–Yates shuffle Algorithm import java.util.*; public class cracking { public static void shuffle(int[] cards) { Random rand = new Random(); for (int i=cards.length-1; i>0; i--) { int pick = rand.nextInt(i+1); int tmp = cards[i]; cards[i] = cards[pick]; cards[pick] = tmp; } } public static void main(String[] argv) { int deck[] = new int[52]; for (int i=0; i<deck.length; i++) { deck[i] = i + 1; } shuffle(deck); } }
import random def shuffle(ary): a=len(ary) b=a-1 for d in range(b,0,-1): e=random.randint(0,d) if e == d: continue ary[d],ary[e]=ary[e],ary[d] return ary
全站熱搜