将两个list链表通过merge合并时注意的三个问题

本文介绍了合并两个有序链表时需要注意的三个关键点:1) 链表必须有序;2) 合并顺序应与链表内容排序一致;3) 合并后,其中一个链表将变为空。示例代码展示了如何使用`merge()`函数进行升序和降序合并,并显示了合并前后链表的状态。
摘要由CSDN通过智能技术生成

注意:1)merge()是将两个有序的链表合并成另一个有序的链表,如果有一个链表不是有序的那么在执行代码时会报错:说链表不是有序的。

2)还有,两个链表中的内容排序顺序与合并时采用的排序顺序必须一致,如果不一致,也会报错,说链表不是有序的。如想要降序合并两个链表,那么合并前的两个链表也必须是按降序排列的。

3)另外,当执行完merge()后,右边的链表将变为空。

 

例子:list<int> v1, v2;

v2.merge(v1); //按照默认排序方法合并,即按照升序

v2.merge(v1,greater<int>()); //按照降序合并

#include "stdafx.h"

#include <iostream>

#include <list>

#include <algorithm>

using nam

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值