众所周知,在链表上进行插入操作所需要的时间为固定时间,只需要修改几个指针便可以完成插入操作,C++ 的STL为我们提供了list容器,当然也少不了合并两个list的方法,不是使用merge,而是使用list的方法splice,函数原型为
void splice ( iterator position, list<T,Allocator>& x );
void splice ( iterator position, list<T,Allocator>& x, iterator it );
void splice ( iterator position, list<T,Allocator>& x, iterator first, iterator last );
具体操作如下
list<int> front_list = { 1, 2, 3, 4, 5 };
list<int> tail_list = { 6, 7, 8, 9 };
front_list.splice(front_list.end(), tail_list);