C语言单向循环链表,输出的最后一个元素为什么是垃圾值,求大神帮我改动一下,真心感谢!
#include<stdio.h>#include<stdlib.h>#include"Link.h"voidinitlist(LinkList*L){*L=(LNode...
#include <stdio.h>
#include <stdlib.h>
#include "Link.h"
void initlist(LinkList *L)
{
*L=(LNode *)malloc(sizeof(LNode));
(*L)->next=*L;
}
int Getlen(LinkList L)
{
int num=0;
LNode *p;
p=L->next;
while(p!=L)
{
num++;
p=p->next;
}
return(num);
}
void Inselem(LinkList L,int i,int x)
{
LNode *p,*s,*q;
int pos=1;
p=L;
if(i<1 || i>Getlen(L)+1) exit(1);
s=(LNode *)malloc(sizeof(LNode));
s->data=x;
while(pos<=i)
{
q=p;
p=p->next;
pos++;
}
s->next=q->next;
q->next=s;
}
void Delelem(LinkList L , int i)
{
LNode *p,*q=L;
int pos=1;
if(i<1 || i>Getlen(L)) exit(1);
while(pos<i)
{
q=q->next;
pos++;
}
p=q->next;
q->next=p->next;
free(p);
}
void displist(LinkList L)
{
LNode *p;
p=L->next;
while(p!=NULL)
{
printf("%d\t",p->data);
p=p->next;
}
}
//Link.h是头文件。对源文件函数没有太大影响.
求大神们指教啊,最后一个问题,明天就要进行答辩。在做约瑟夫环问题,思路代码都想好了,就这个垃圾值半天解决不了,这是大一第一次答辩,真心求大神们求助 展开
#include <stdlib.h>
#include "Link.h"
void initlist(LinkList *L)
{
*L=(LNode *)malloc(sizeof(LNode));
(*L)->next=*L;
}
int Getlen(LinkList L)
{
int num=0;
LNode *p;
p=L->next;
while(p!=L)
{
num++;
p=p->next;
}
return(num);
}
void Inselem(LinkList L,int i,int x)
{
LNode *p,*s,*q;
int pos=1;
p=L;
if(i<1 || i>Getlen(L)+1) exit(1);
s=(LNode *)malloc(sizeof(LNode));
s->data=x;
while(pos<=i)
{
q=p;
p=p->next;
pos++;
}
s->next=q->next;
q->next=s;
}
void Delelem(LinkList L , int i)
{
LNode *p,*q=L;
int pos=1;
if(i<1 || i>Getlen(L)) exit(1);
while(pos<i)
{
q=q->next;
pos++;
}
p=q->next;
q->next=p->next;
free(p);
}
void displist(LinkList L)
{
LNode *p;
p=L->next;
while(p!=NULL)
{
printf("%d\t",p->data);
p=p->next;
}
}
//Link.h是头文件。对源文件函数没有太大影响.
求大神们指教啊,最后一个问题,明天就要进行答辩。在做约瑟夫环问题,思路代码都想好了,就这个垃圾值半天解决不了,这是大一第一次答辩,真心求大神们求助 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询