您的位置:首页 > 其它

洗牌算法,普通数组方式

2015-09-23 10:25 429 查看
private static void Shuffle ()
		{
			// 扑克牌初始化
			string[] cardType = { "红桃", "黑桃", "方块", "梅花" };
			string[] cardValue = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
			List<string> allCard = new List<string>();
			for (int i = 0; i < cardType.Length; i++) {
				for (int j = 0; j < cardValue.Length; j++) {
					allCard.Add(cardType[i] + cardValue[j]);
				}
			}

			// 定义随机数
			Random random = new Random ();
			// 从数组的最后一个数开始递减
			for (int i = allCard.Count - 1; i > 0; i--) {
				// 随机下标
				int index = random.Next (0, i);
				// 随机出来的数与最后位置的数交换
				string temp = allCard [i];
				allCard [i] = allCard [index];
				allCard [index] = temp;
			}
			foreach (string item in allCard) {
				Console.WriteLine (item);
			}

		}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: