生成随机数量的队列
Generate random number of queues
出于好奇,有人如何创建随机数量的队列?
我的当前项目中有这样一个构造函数:
public:
Passenger<NODETYPE> *super_express;
Passenger<NODETYPE> *express_line1;
Passenger<NODETYPE> *express_line2;
Passenger<NODETYPE> *regular_line;
Checkout_Simulation() : super_express("Super Express Counter 01"),
express_line1("Express Line Counter 01"),
express_line2("Express Line Counter 02"),
regular_line("Regular Line Counter 01"),
clock_time(0), finish_time(0) {}
如何使用随机生成的数字来创建 regular_line 队列的随机数?换句话说,随机生成器输出为 5,这将使 5 regular_lines?
这是他们所在的地方运行:
template <typename NODETYPE>
void Checkout_Simulation<NODETYPE> :: run_sim() {
for(clock_time = 0; clock_time <total_time; clock_time++){
item_obj.item_purchase(number);
if (number < 15) {
super_express.check_new_arrival(clock_time, display_all);
// number = the value
super_express.number = number;
}
else if (number >15 && number <=20){
express_line1.check_new_arrival(clock_time, display_all);
express_line2.check_new_arrival(clock_time, display_all);
}
else {
regular_line.check_new_arrival(clock_time, display_all);
}
if (clock_time >= finish_time){
start_checkout();
}
}//end for loop
}
要创建随机数量为 Passenger<NODETYPE>
的 std::vector,请执行以下操作:
首先,您将生成一个随机数。
接下来,使用循环来限制随机数。
srand(time(0); // Seed the random number generator.
const unsigned int quantity = rand() % 16 + 1;
std::vector<Passenger<NODETYPE> *> regular_line_queues;
for (unsigned int i = 0; i < quantity; ++i)
{
regular_line_queues.push_back(new Passenger<NODETYPE>);
}
使用唯一指针或智能指针留作 reader 的练习。
编辑 1:
对于实际队列,将 std::vector
替换为 std::deque
。
出于好奇,有人如何创建随机数量的队列?
我的当前项目中有这样一个构造函数:
public:
Passenger<NODETYPE> *super_express;
Passenger<NODETYPE> *express_line1;
Passenger<NODETYPE> *express_line2;
Passenger<NODETYPE> *regular_line;
Checkout_Simulation() : super_express("Super Express Counter 01"),
express_line1("Express Line Counter 01"),
express_line2("Express Line Counter 02"),
regular_line("Regular Line Counter 01"),
clock_time(0), finish_time(0) {}
如何使用随机生成的数字来创建 regular_line 队列的随机数?换句话说,随机生成器输出为 5,这将使 5 regular_lines?
这是他们所在的地方运行:
template <typename NODETYPE>
void Checkout_Simulation<NODETYPE> :: run_sim() {
for(clock_time = 0; clock_time <total_time; clock_time++){
item_obj.item_purchase(number);
if (number < 15) {
super_express.check_new_arrival(clock_time, display_all);
// number = the value
super_express.number = number;
}
else if (number >15 && number <=20){
express_line1.check_new_arrival(clock_time, display_all);
express_line2.check_new_arrival(clock_time, display_all);
}
else {
regular_line.check_new_arrival(clock_time, display_all);
}
if (clock_time >= finish_time){
start_checkout();
}
}//end for loop
}
要创建随机数量为 Passenger<NODETYPE>
的 std::vector,请执行以下操作:
首先,您将生成一个随机数。
接下来,使用循环来限制随机数。
srand(time(0); // Seed the random number generator.
const unsigned int quantity = rand() % 16 + 1;
std::vector<Passenger<NODETYPE> *> regular_line_queues;
for (unsigned int i = 0; i < quantity; ++i)
{
regular_line_queues.push_back(new Passenger<NODETYPE>);
}
使用唯一指针或智能指针留作 reader 的练习。
编辑 1:
对于实际队列,将 std::vector
替换为 std::deque
。