一个随机排序的实例(无重复)

Ж风之羽Ж 发表于 2008-09-05 11:16:20

//申明一个cstring数组保存未排序的内容
CString ServerIP_Arry[3];
//申明一个vector数组保存排序后的结果
 std::vector<CString> vServerIP;
 int sizelen = n;(cstring数组的长度)

int length = sizelen;
 //随机排序
 for (int i=0; i<sizelen; i++)
 {
  int index = rand()%length;
  //随机抽取一个成员添加到vector中
  vServerIP.push_back(ServerIP_Arry[index]);
  //cstring数组长度-1,并将其后的所有成员向前移动一位,
  //效果相当于去掉抽到的成员,将剩下的成员继续随机排序
  length--;
  for (int j=index; j<length; j++)
  {
   ServerIP_Arry[j] = ServerIP_Arry[j+1];
  }
 }

收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定