Tag: shuffle

字符洗牌

我只是想知道是否有一种方法(使用ASP.NET C#)“混乱”字符串的内容,但仍然能够点击另一个按钮并“将其”重新混合“回原始内容而不保存原始内容? 谢谢 :) 例: “This is not shuffled.” “isuo .tffsnl iTh shed” …And then I click the “UNShuffle” button and it becomes normal again: “This is not shuffled.”

如何将2个已排序的列表合并到一个混洗列表中,同时在c#中保持内部顺序

我想要一个混乱的合并列表,它将保持列表的内部顺序。 例如: 清单A:11 22 33 清单B:6 7 8 有效结果: 11 22 6 33 7 8 结果无效:22 11 7 6 33 8

Fisher-Yates在单个字符串上进行洗牌而不是使用相等长度的排列?

现在我正在开发一套文字游戏作为教我自己的手段(并重新创建一些我最喜欢的文字游戏!)在“实际”学习的编程朋友的帮助下,我们在其中一个中实现了一个很好的排列方法我的课程。 它正在查找3个字母以上的所有排列,并将它们与我所包含的字符串列表进行比较,其中包含基本上是Scrabble锦标赛单词列表。 这就是背景,这是我当前的问题:我现在已经拥有了所有的排列,并将它们与现有单词进行了比较,并创建了一个新的List,其中包含给定字符串中所有可能的单词组合。 但是,当我向用户提供此字符串时,我需要对其进行加扰。 我找到了Fisher-Yates shuffle的一些C#实现,但我没有成功地使它们接受单个字符串(编辑:Fisher-Yates问题用char []数组解决)。 然后我有了一个黑客的想法 – 为什么不使用一个相同长度的排列但是!=原始单词。 不幸的是,每当我的条件语句向后返回单词时。 最终用户没有那么难以弄明白:)这是我的加扰代码: // permWords is a Dictionary<int, List> String strScrambled= “”; foreach (List listWords in permWords.Values) { foreach (string word in listWords) { if (word.Length == strWord.Length && word != strWord) { strScrambled = word; } } } 我已经尝试过strScrambled = word + 1假设第一个排列不strScrambled = word […]

按钮点击从资源随机播放图片

我有1个图片框,名为studPic 。 我想要的是,当我点击“随机播放”按钮时,从资源中获取随机图像。 private void button2_Click(object sender, EventArgs e) { … } 经过研究,我发现了以下内容 http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/38d36fa4-1f5f-43e9-80f6-3c9a4edc7705/ 我是C#的新手..有没有更简单的方法来实现这个结果? 例如,没有添加图片名称? UPDATE List pictureNames = new List(); pictureNames.Add(“1”); pictureNames.Add(“2”); pictureNames.Add(“3”); int randomPictureIndex = new Random().Next(0, pictureNames.Count); string randomPictureName = pictureNames[randomPictureIndex]; pictureNames.Remove(randomPictureName); Image img = Properties.Resources.randomPictureName; //erroor studPic.Image = img; 获取错误消息错误1’Properties.Resources’不包含’randomPictureName’的定义

费雪耶茨洗牌卡列表

我正试图将Fisher Yates洗牌放在一张牌上。 我已经搜索了论坛,Fisher Yates的唯一实现是使用下面的普通int数组 for (int i = length – 1; i > 0; i–) { int j = random.Next(i + 1); int temp = array[i]; array[i] = array[j]; array[j] = temp; } 这很有道理,我的麻烦是我真的没有看到如何将这种逻辑转换为我拥有的东西,任何帮助实现这一点都将非常感激。 相关代码如下: public struct Card : IComparable { public Rank Rank { get; private set; } public Suit Suit { get; private […]

使用IComparer进行随机播放

首先,我确实知道Fisher-Yates shuffle。 但为了论证,我想允许用户从下拉列表中选择一个排序选项。 该列表将包括“随机”选项。 根据他们的选择结果,我只想在IComparer实例中替换我的排序。 IComparer会是什么样子? Google提出了大量有缺陷的结果,这些结果都采取以下forms: public class NaiveRandomizer : IComparer { private static Random rand = new Random(); public int Compare(T x, T y) { return (x.Equals(y))?0:rand.Next(-1, 2); } } 但是,该实现是有偏见的,甚至会在某些情况下抛出exception。 可以使用以下代码演示偏差: void Test() { Console.WriteLine(“NaiveRandomizer Test:”); var data = new List() {1,2,3}; var sortCounts = new Dictionary(6); var randomly = new NaiveRandomizer(); […]

在C#Windows phone 7中随机播放字符串列表

我已经到处看看如何在C#中为Windows Phone 7随机播放/随机化一个字符串列表。我仍然是一个初学者,你可以这么说这可能是我的联盟,但我正在写一个简单的应用程序,这是它的基础。 我有一个字符串列表,我需要随机播放并输出到文本块。 我查了一些代码,但我知道我错了。 有什么建议?

随机列表

可能重复: 随机化C#中的List 我有一个列表,其中包含数千个FilePath到音频文件的位置,并想知道哪个是“洗牌”列表的最有效方法? 任何帮助是极大的赞赏 :) 谢谢

使用密钥的可逆混洗算法

如何在C#中编写可逆混洗算法,该算法使用密钥进行混洗并可以反转为原始状态? 例如,我有一个字符串:“Hello world”,我怎么能将它洗牌以便以后我能够将洗牌后的字符串反转回“Hello world”。

关于洗刷所需的IEnumerable的扩展方法

我需要一个扩展IEnumerable的扩展方法。 它还可以使用int来指定返回的IEnumerable的大小。 更好地保持IEnumerable不变性。 我目前的IList解决方案 – public static IList Shuffle(this IList list, int size) { Random rnd = new Random(); var res = new T[size]; res[0] = list[0]; for (int i = 1; i < size; i++) { int j = rnd.Next(i); res[i] = res[j]; res[j] = list[i]; } return res; } public static IList Shuffle(this […]