Dr.Alphays 2021-04-15 23:52 采纳率: 100%
浏览 47
已采纳

线性表合成之后输出来是空的

#include<stdio.h>
#include<stdlib.h>
typedef  struct  LNode {
	int     data;  // 数据域
	struct  LNode   *next;  // 指针域
} LNode, *LinkList;


void MergeLinkList(LinkList &La, LinkList &Lb) {

	LinkList pa, pb;
	pa = La->next;
	pb = Lb->next;
	LinkList pc = La;
	while (pa&&pb)
	{
		if (pa->data <= pb->data) {
			LinkList p = pa->next;
			pa->next = NULL;
			pc->next = pa;
			pc = pc->next;
			pa = p;
		}
		else {
			LinkList p = pb->next;
			pb->next = NULL;
			pc->next = pb;
			pc = pc->next;
			pb = p;
		}
		
	}
	pc->next = pa ? pa : pb;
	
	while (La->next != NULL)
	{
		printf("%3d", La->next->data);
		La = La->next;
	}
	printf("\n");
}
void CreateList_L(LinkList &L, int n) {
	// 逆序输入 n 个数据元素,建立带头结点的单链表
	L = (LinkList)malloc(sizeof(LNode));
	LinkList p;
	int t; 
	int k = 0;
	int num[5];
	for (int i = 0; i < 5; i++) {
		 printf("第%d个数据:\n", i+1);
		 scanf("%d", &num[i]);
	}
	for (int i = 0; i < 5 ; i++)
	{
		for (int j = 0; j< 5 - 1 - i; j++)
		{

			if (num[j] < num[j+1])
			{
				t = num[j];
				num[j] = num[j+1];
				num[j+1] = t;
			}
		}
	}
	L->next = NULL; //建立带头结点的单链表
	for (int i = 5; i > 0; --i) {	
		p = (LinkList)malloc(sizeof(LNode));
		p->data = num[k++];  // 输入元素值
		p->next = L->next;  L->next = p;  // 插入
	}

} // CreateList_L

void printList(LinkList &L) {
	while (L->next!=NULL)
	{
		printf("%3d", L->next->data);
		L = L->next;
	}
	printf("\n");
}

void printList1(LinkList &L) {
	while (L->next != NULL)
	{
		printf("%3d", L->next->data);
		L = L->next;
	}
	printf("\n");
}
int main()
{
   	LinkList L1,L2;
	int a=5; 
	int b = 1;
	printf("创建L1:\n");
	CreateList_L(L1, a);
	printf("L1结果如下:\n");
	printList(L1);
    printf("创建L2:\n");	
    CreateList_L(L2, a);
	
	printf("L2结果如下:\n");
	printList(L2);
	MergeLinkList(L1, L2);
	printf("合并结果如下:\n");
	printList1(L1);
	return 0;
}

求大佬解释为什么我的线性表合成之后输出来是空的

  • 写回答

4条回答 默认 最新

  • CSDN专家-cpp_learner 2021-04-16 09:11
    关注

    CreateList_L 和 printList方法里面,你不可以直接使用L,应该LinkList q = L;这样,然后操作p。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?