我是 C++ 新手,我正在研究合并排序的实现,以帮助自己熟悉该语言。
目前我有一个整数列表,我想创建 2 个子列表并将原始列表的前半部分存储到名为“left”的列表中,将剩余一半存储到名为“right”的列表中
例如:假设我的原始列表数据是16、24、56、12、89;我想遍历这个列表,将 16、24 添加到新的子列表 'left' 并将 56、12、89 添加到子列表 'right' 所以 left 会导致 [16, 24] 而 right 会是 [56, 12, 89 ]
这是我现在拥有的代码;我应该在 if 语句中写什么条件?('l' 是在函数参数中传递的列表的名称)
list<int> left, right;
int midpt = l.size()/2;
for(listIt = l.begin(); listIt!= l.end(); listIt++){
if () left.push_back(*listIt);
if () right.push_back(*listIt);
}