|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如下代码,怎么能连续调用ListInser这个函数,以创建多个链表,卡了一个多小时了,就是没办法解决,
求大佬指点
#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
typedef int Status;
//链表的初始化
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
//建立一个空链表
Status LinkListInit(LinkList &L){
L=(LinkList)malloc(sizeof(LNode)); //申请结点
if(!L) return -1;
L->next=NULL;
return 1;
}
//尾插法,插入单链表元素
Status ListInsert(LinkList &L,int i,ElemType e){
ElemType x;
LNode *p,*s;
L->next=NULL;
p=L; //开始时,使得p指向头结点
while(scanf("%d\n",&x)==1){
s=(LinkList)malloc(sizeof(LNode));
s->data=x;
p->next=s;
s->next=NULL;
p=s;
}
return 1;
}
//查找链表中的第i个元素
/*Status GetElem(LinkList L,int i,ElemType &e){
LNode *p;
int j;
p=L->next;
//if(i<1||i>L.length) return -1;
for(j=0;j<i;j++){
p=p->next;
}
if(!p||j>i) return -1;
e=p->data;
return 1;
}*/
int main(){
int i;
ElemType e;
LinkList La,p;
LinkList Lb,q;
LinkListInit(La);
LinkListInit(Lb);
printf("请输入要插入的单链表La的数据:");
ListInsert(La,i,e);
printf("La:");
for(p=La->next;p!=NULL;p=p->next){
printf("%d ",p->data); }
printf("\n");
printf("请输入要插入的单链表Lb的数据:");
ListInsert(Lb,i,e);
printf("Lb:");
for(q=Lb->next;q!=NULL;q=q->next){
printf("%d ",q->data); }
printf("\n");
}
|
|