在我的一個應用程序中,我想混洗字符串內容,並在另一個應用程序中,如果我將這個混洗字符串作爲輸入傳遞,那麼該應用程序必須返回原始字符串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. 重新排列和r中
- 7. C++ Stringbuilder插入,反向和重新排列多個字符串
- 8. C#重新排列字符串中的文本
- 9. 重新排列列表中的字母
- 10. 重新排列JavaScript字符串組件
- 11. php重新排列字符串數組
- 12. Unity3d重新排列字符串
- 13. PHP - 重新排列字符串
- 14. 重新排列矩陣c#
- 15. C#Gridview,重新排列
- 16. 如何重新排列字符串中的字符?
- 17. 如何重新排列字符串中的字符?
- 18. 將字符串列表重新排列到新列表中
- 19. 重新排列字母(VB)
- 20. 重新排序數字列
- 21. 重新排列Dataframe列包含字符串和編號升序
- 22. 重新排列中的R
- 23. 重新排列中的R
- 24. awk中的拆分和重新排列
- 25. 在C中重新排列比特
- 26. 在C#.NET中重新排列Treenodes
- 27. 在C#.NET中重新排列Treenodes
- 28. 如何重新排列字符串中的字母?
- 29. 字符串標籤和從輸出重新排列的順序
- 30. 重新排列的數字列表框
你怎麼做一些事情像費雪耶茨洗牌? – KF2 2013-04-04 08:38:56
你已經完成的代碼在哪裏? – Freelancer 2013-04-04 08:39:26
通過「申請」,你的意思是「寧靜的服務」? – nurettin 2013-04-04 08:39:28