共享空间 » 日志 » 一个随机排序的实例(无重复)
一个随机排序的实例(无重复)
Ж风之羽Ж 发表于 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];
}
}
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
抓虾
