在我的一个应用程序中,我想混洗字符串内容,并在另一个应用程序中,如果我将这个混洗字符串作为输入传递,那么该应用程序必须返回原始字符串value.Is有任何方法可用在dotnet平台中做到这一点?c#中的字符混排和重新排列#
回答
您可以使用Fisher–Yates shuffle算法。
它是一种算法,用于随机排列集合,生成有限的集合的随机置换。
用于产生数字1-N变作为一个随机置换给定的基本方法如下:
- 从1写下号码N.
- 选择一个之间的一个随机数k以及剩余(未包括)的未用数字 的数量。
- 从低端算起,排除第k个号码还没有击中 ,并在其他地方写下来。
- 重复步骤2直到所有数字都被删除。
- 在步骤3中写下的数字序列现在是原始数字的随机排列 。
有一个例子:shuffle algorithm
和良好的一个here
好的...它工作正常.. – 2013-04-04 08:48:08
@ Praveen库马尔:接受作为答案,如果它是helfull:D – KF2 2013-04-04 08:49:29
绝对不是开箱即用,但自己创建struct
struct ShuffleChar{
char c;
int index;
}
,当你洗你的信,分配给每个字母的index
所以你可以把它们放在一起再次。请记住,string
只有在字母顺序正确时才有意义,如果更改该顺序将破坏该信息,并且很可能无法恢复该信息...
好..那么如何重新安排呢? – 2013-04-04 08:41:59
就像我在回答中告诉过你的那样,尽量保存信息。你不能重新创建原始的字符串,而不保留任何有关其来源的信息 – 2013-04-04 08:45:32
- 1. 重新排列字符串
- 2. C#算法,重新排列字符串中的字符
- 3. 重新排列Java中的字符串
- 4. 重新排列具有混合元组和字符串列的pandas DataFrame列
- 5. 重新排列混合语言字符串(LTR + RTL)?
- 6. C#重新排列字符串中的文本
- 7. PHP - 重新排列字符串
- 8. php重新排列字符串数组
- 9. Unity3d重新排列字符串
- 10. C#Gridview,重新排列
- 11. 如何重新排列字符串中的字符?
- 12. 将字符串列表重新排列到新列表中
- 13. 重新排列字母(VB)
- 14. 重新排列Dataframe列包含字符串和编号升序
- 15. 重新排列中的R
- 16. 重新排列中的R
- 17. awk中的拆分和重新排列
- 18. 在C#.NET中重新排列Treenodes
- 19. 在C#.NET中重新排列Treenodes
- 20. 字符串标签和从输出重新排列的顺序
- 21. 以字符的一半重新排列字符串
- 22. 重新排列的数字列表框
- 23. 在plist中重新排列名字
- 24. 混沌排列
- 25. 重新排序列
- 26. NSMutableArray重新排列
- 27. 如何分割字符串值并重新排列字符
- 28. 重新排列在Java中
- 29. 重新排列(重新排序,排序)阵列,你所希望的方式PHP
- 30. 如何重新排列字符串中的内容? Java
你怎么做一些事情像费雪耶茨洗牌? – KF2 2013-04-04 08:38:56
你已经完成的代码在哪里? – Freelancer 2013-04-04 08:39:26
通过“申请”,你的意思是“宁静的服务”? – nurettin 2013-04-04 08:39:28