• 4246阅读
  • 1回复

[提问]QT中如何给中文字符随机排序? [复制链接]

上一主题 下一主题
离线apud
 

只看楼主 倒序阅读 楼主  发表于: 2015-01-09
如题。找了好久没有找到方法。求大神解惑。
在CSDN也提问过:http://bbs.csdn.net/topics/390966682?page=1#post-398767064
离线cnhemiya

只看该作者 1楼 发表于: 2015-01-15
看了你csdn的方法,那个只是字节乱序了,结果是乱码。
方法思路:
把中文每个字放在单独的QString中,所有的QString都在一个数组中。
对数组的索引进行随机处理,然后根据索引的顺序依次读取QString里面的字就行了。

伪代码:
QString strs[4];
strs[0] = "世";
strs[1] = "界";
strs[2] = "你";
strs[3] = "好";
int idxs[4];
idxs[0] = 0;
idxs[1] = 1;
idxs[2] = 2;
idxs[3] = 3;
// 对idxs随机处理
std::random_shuffle(idxs, idxs + 4);
QString str_new = strs[idxs[0]] + strs[idxs[1]] + strs[idxs[2]] + strs[idxs[3]];
快速回复
限100 字节
 
上一个 下一个