曹嗲嗲今天敲代码了嘛 2021-11-15 00:18 采纳率: 66.7%
浏览 29
已结题

有序表的合并 不知道为什么Xcode总是不输出结果

main.c
// 295有序表的合并去重
//
// Created by 曹一典 on 2021/11/12.
//

#include <stdio.h>
#include <stdlib.h>

typedef struct Node{
int data;
struct Node *pNext;
}NODE,*PNODE;

PNODE Ini(void){
PNODE pHead;
pHead=(PNODE)malloc(sizeof(NODE));
pHead->pNext=NULL;
return pHead;
}

void Create(PNODE pHead,int n){
PNODE p=pHead;
for(int i=0;i<n;i++){
PNODE pNew=(PNODE)malloc(sizeof(NODE));
scanf("%d",&pNew->data);
pNew->pNext=NULL;
p->pNext=pNew;
p=p->pNext;
}
}

void Merge(PNODE L1,PNODE L2,PNODE L3){
PNODE a,b,c;
a=L1->pNext;
b=L2->pNext;
c=L3=L1;
while(a&&b){
if(a->datadata){
c->pNext=a;
c=a;
a=a->pNext;
//c=c->pNext;
}
else if(a->data>b->data){
c->pNext=b;
c=b;
b=b->pNext;
//c=c->pNext;
}
else{
/* c->pNext=b;*/
c->pNext=a;
c=a;
a=a->pNext;
b=b->pNext;
//c=c->pNext;
// c=c->pNext;
}
c->pNext=a?a:b;
L1->pNext=NULL;
L2->pNext=NULL;
//free (L2);

}

}

void output(PNODE m){
PNODE n=m->pNext;
while(n){
printf("%d",n->data);
n=n->pNext;
}
}

int main(int argc, const char * argv[]) {
int a,b;
scanf("%d %d",&a,&b);
PNODE p1=Ini();
PNODE p2=Ini();
PNODE p3=Ini();
Create(p1, a);
Create(p2, b);
Merge(p1,p2,p3);
//output(p1);
//output(p2);
output(p3);

return 0;

}

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 11月23日
      • 已采纳回答 11月15日
      • 创建了问题 11月15日

      悬赏问题

      • ¥15 结构体数组文件读取问题
      • ¥15 写c++代码,第7题说一下使用的计算方法
      • ¥15 postman接口自动化测试报告实践总结
      • ¥15 有关c++的问题,利用相关知识
      • ¥15 求香农编码和解码的matlab代码
      • ¥20 ROS中的TEB局部规划问题
      • ¥20 关于#matlab#的问题:要求测出上面图片中所有同心圆的半径
      • ¥20 epanet软件运行问题
      • ¥15 Python 文件读取
      • ¥60 dpabi进行Alff计算时脑池有干扰信号