有序表合并-二路归并

例如,LA = (1,3,5),LB = (2,4,6,8)
归并之后LC = (1,2,3,4,5,6,8)
时间复杂度O(m+n)

#下面的LA和LB是链表的头结点
def unionList(LA,LB):
	LC = None
	LA = LA.next
	LB = LB.next
	while LA != None and LB != None:
		if LA.data <= LB.data:
			LC.data = LA.data
			LC = LC.next
			LA = LA.next
		else:
			LC.data = LB.data
			LC = LC.next
   			LB = LB.next
   	while LA != None:
   		LC.data = LA.data
   		LC = LC.next
   		LA = LA.next
   	while LB != None:
   		LC.data = LB.data
   		LC = LC.next
      		LB = LB.next


发布了12 篇原创文章 · 获赞 0 · 访问量 123

猜你喜欢

转载自blog.csdn.net/caihuanqia/article/details/104632491