
C++中STL中list的merge函数实现两个无序链表合并,合并后的链表是怎么排序的?例如合并1
C++中STL中list的merge函数实现两个无序链表合并,合并后的链表是怎么排序的?例如合并109080706030405060606080合并出来是10304050...
C++中STL中list的merge函数实现两个无序链表合并,合并后的链表是怎么排序的?例如合并10 90 80 70 60
30 40 50 60 60 60 80合并出来是10 30 40 50 60 60 60 80 90 80 70 60,是怎样生成的这个顺序的链表?为什么是这么个顺序? 展开
30 40 50 60 60 60 80合并出来是10 30 40 50 60 60 60 80 90 80 70 60,是怎样生成的这个顺序的链表?为什么是这么个顺序? 展开
展开全部
合并的链表需要有序,但是现在是无序的,所以结果是这样的:
首先两个头比较:10<30,因此10排在第一个
接着90和30比,30小,30排在第二个
40和90比,40小。。。
直到第二个链表全部完了,都比90小,这样第一个链表还有元素,接着直接将90连同后面所有元素连过来就是最后的结果(因为默认有序,认为90后面的都比90大,当然实际不是)
首先两个头比较:10<30,因此10排在第一个
接着90和30比,30小,30排在第二个
40和90比,40小。。。
直到第二个链表全部完了,都比90小,这样第一个链表还有元素,接着直接将90连同后面所有元素连过来就是最后的结果(因为默认有序,认为90后面的都比90大,当然实际不是)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询