我是C++的新手,我正在研究合并排序的实现,以帮助我熟悉语言.
目前我有一个整数列表,我想创建2个子列表,并将原始列表的前半部分存储到名为"left"的列表中,将剩下的一半存储到名为"right"的列表中
例如:假设我的原始列表数据是16,24,56,12,89; 我想迭代这个列表,将16,24添加到一个新的子列表'left'并将56,12,89添加到子列表'right'所以左边会导致[16,24]而右边会是[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);
}
Run Code Online (Sandbox Code Playgroud)