合并两个单链表

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝

但行前路,不负韶华!

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include"LinkList.h"

#define DataType int 

LNode* MergeList(LinkList A, LinkList B);

int main()
{
	LinkList A, B, C;
	LNode* p;
	InitList(&A);
	InitList(&B);
	DataType a[] = { 12,16,21,33,35,87,102 };
	DataType b[] = { 3,5,21,23,35,99,123 };
	int n;
	n = sizeof(a) / sizeof(a[0]);
	for (int i = 1; i <=n; i++)
	{
		InsertElem(A, i, a[i - 1]);
	}
	n = sizeof(b) / sizeof(b[0]);
	for (int i = 1; i <= n; i++)
	{
		InsertElem(B, i, b[i - 1]);
	}
	printf("链表A中共有%d个元素:\n", ListLength(A));
	p = A->next;
	for (int i = 1; i <= ListLength(A); i++)
	{
		printf("%d ", p->data);
		p = p->next;
	}
	printf("\n");
	printf("链表B中共有%d个元素:\n", ListLength(B));
	p = B->next;
	for (int i = 1; i <= ListLength(B); i++)
	{
		printf("%d ", p->data);
		p = p->next;
	}
 	printf("\n");
	C = MergeList(A, B);
	printf("合并的链表C中共有%d个元素:\n", ListLength(C));
	p = C->next;
	for (int i = 1; i <= ListLength(C); i++)
	{
		printf("%d ", p->data);	
		p = p->next;
	}
	printf("\n");
	return 0;
}

LNode* MergeList(LinkList A, LinkList B)
{
	LinkList C;
	InitList(&C);
	LNode* temp;
	A = A->next;
	B = B->next;
	while (A && B)
	{
		if (A->data < B->data)
		{	
			InsertElemF(C, A->data);
			A = A->next;
		}
		else if(A->data==B->data)
		{
			temp = B;
			B = B->next;
			free(temp);
		}
		else
		{	
			InsertElemF(C, B->data);
			B = B->next;
		}
	}
	while (A)
	{
		InsertElemF(C, A->data);
		A = A->next;
	}
	while (B)
	{
		InsertElemF(C, B->data);
		B = B->next;
	}
	return C;
}
相关推荐
武装头脑ing34 分钟前
递增子序列
数据结构·算法
sml259(劳改版)1 小时前
(PTA) L2-011-L2-015
数据结构·算法
风铃儿~3 小时前
Redis过期key处理、内存淘汰策略与缓存一致性策略实践方案
java·数据结构·redis·微服务
大龄门外汉4 小时前
数据结构之栈和队列
c语言·数据结构·学习·改行学it
朝九晚五ฺ4 小时前
【算法学习】链表篇:链表的常用技巧和操作总结
数据结构·学习·算法·链表
俄城杜小帅5 小时前
数据结构刷题之贪心算法
数据结构·算法·贪心算法
什码情况5 小时前
整数编码 - 华为OD统一考试(A卷、C++)
数据结构·c++·算法·华为od
int型码农5 小时前
数据结构第六章(一) -图
c语言·数据结构·算法
泽02027 小时前
括号匹配问题--栈
数据结构
ChoSeitaku7 小时前
NO.76十六届蓝桥杯备战|数据结构-单调栈|发射站|Largest Rectangle in a Histogram(C++)
数据结构·c++·蓝桥杯