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 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作