c语言单链表尾插法编译通过运行终止,这个写法哪里有问题
#include"stdio.h"#include"stdlib.h"#include"string.h"typedefstructLNode{//链表的结构charda...
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
typedef struct LNode{ //链表的结构
char data;
struct LNode* next;
}LNode,*LinkList;
LinkList init_linklist(LinkList L){ //初始化链表
L=(LinkList)malloc(sizeof(LinkList));
L->next=NULL;
return L;
}
void DestroyList(LinkList L){ //销毁链表操作
LinkList p=L,q=p->next;
while(q!=NULL){
free(p);
p=q,q=p->next;
}
free(p);
}
void CreatFromTail(LinkList L){ //尾插法建立单链表
//LNode *r,*s;
LinkList r,s;
char c;
int flag=1;
r=L;
while(flag){
c=getchar()
if(c!='$'){
s=(LinkList)malloc(sizeof(LNode));
s->data=c;
r->next=s;
r=s;
}
else{
flag=0;
r->next=NULL;
}
}
}
void CreatFromHead(LinkList L){ //头插法建立单链表
LNode *r,*s;
char c;
int flag=1;
while(flag){
c=getchar();
if(c!='$'){
s=(LNode*)malloc(sizeof(LNode));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}
int LENGTH(LinkList L){ //单链表长度
int i=0;
LinkList p=L;
while(p->next!=NULL){
i++;
p=p->next;
}
return i;
}
int main(){
LinkList L;
init_linklist(L);
printf("初始化成功\n");
CreatFromTail(L);
printf("建立成功\n");
printf("长度为%d\n",LENGTH(L));
}
调试的时候在 尾插法建立单链表时运行出错 展开
#include"stdlib.h"
#include"string.h"
typedef struct LNode{ //链表的结构
char data;
struct LNode* next;
}LNode,*LinkList;
LinkList init_linklist(LinkList L){ //初始化链表
L=(LinkList)malloc(sizeof(LinkList));
L->next=NULL;
return L;
}
void DestroyList(LinkList L){ //销毁链表操作
LinkList p=L,q=p->next;
while(q!=NULL){
free(p);
p=q,q=p->next;
}
free(p);
}
void CreatFromTail(LinkList L){ //尾插法建立单链表
//LNode *r,*s;
LinkList r,s;
char c;
int flag=1;
r=L;
while(flag){
c=getchar()
if(c!='$'){
s=(LinkList)malloc(sizeof(LNode));
s->data=c;
r->next=s;
r=s;
}
else{
flag=0;
r->next=NULL;
}
}
}
void CreatFromHead(LinkList L){ //头插法建立单链表
LNode *r,*s;
char c;
int flag=1;
while(flag){
c=getchar();
if(c!='$'){
s=(LNode*)malloc(sizeof(LNode));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}
int LENGTH(LinkList L){ //单链表长度
int i=0;
LinkList p=L;
while(p->next!=NULL){
i++;
p=p->next;
}
return i;
}
int main(){
LinkList L;
init_linklist(L);
printf("初始化成功\n");
CreatFromTail(L);
printf("建立成功\n");
printf("长度为%d\n",LENGTH(L));
}
调试的时候在 尾插法建立单链表时运行出错 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询