曦娜 2020-10-18 21:47 采纳率: 0%
浏览 59

关于单链表的实验,为什么我的程序运行结果达不到要求,全都按照要求做了

#include
#include
struct Lnode{
int data;
struct Lnode *next;
};

struct Lnode *LinkList;

struct Lnode *SearchLinkList(struct Lnode *L , int i)
{
int j=1;
int e ;
struct Lnode *p;

p=L;

if(p!=NULL&&j<i)
{
    p=p->next;  
    j++;    
}

else if(!p||j>i)
{
    printf("数据出错"); 

    return (NULL);
}

else

e=p->data; 
printf("%d",e);

return (p);

}

int InsertLinkList(struct Lnode *L , int e , int i)
{
struct Lnode *p , *s;

p=SearchLinkList(L,i-1);     //细品一下 

if(!p)                   //细品一下 
{

    return (-1);
}

else
{   
s->next=p->next;
p->next=s;
s->data = e;
} 
return 0;   

}

int DeleteLinkList(struct Lnode *L , int i)
{
int e ; struct Lnode *p , *s;

p = SearchLinkList(L , i-1);
s = SearchLinkList(L , i);

if(!p||!s)
{ 
return(-1);
} 
else
{ 
e=s->data;
p->next=s->next;

free(s);
} 
return (e);

}

struct Lnode *CreateLinkList(int *r , int n)
{
int j ; struct Lnode *L , *s ;

s = (struct Lnode*)malloc(100*sizeof(struct Lnode));

s->data = r[1];

s->next = NULL;

L = s;

for(j=2;j<=n;j++)
{ 
InsertLinkList(L , r[j] , j);
} 
return (L); 

}

int ShowLinkList(struct Lnode *L)
{
int e ;
struct Lnode *p ;

if(!L)
{

return (-1);

}
else
{

p=L;

}
while(p->next)
{
e=p->data;

    printf("%d",e);
    p=p->next;
}   



return 0;

}

void set(int *r , int SampleNum)
{
int i;
for(i=1;i<=SampleNum;i++)
{

scanf("%d",r[i]);

}

}

int main()
{
int r[100], i , SampleNum , SearchPos , NewPos , Newitem, DelPos ;
struct Lnode *p;

scanf("%d",&SampleNum);

set(r,SampleNum);


LinkList=CreateLinkList(r , SampleNum);
ShowLinkList(LinkList);

scanf("%d",&SearchPos);
printf("%d",SearchLinkList(LinkList , SearchPos));

scanf("%d %d",&NewPos,&Newitem);
InsertLinkList(LinkList,Newitem,NewPos);
ShowLinkList(LinkList);

scanf("%d",&DelPos);
DeleteLinkList(LinkList , DelPos);
ShowLinkList(LinkList);

return 0;

}图片说明


  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
    • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
    • ¥15 Arcgis相交分析无法绘制一个或多个图形
    • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
    • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
    • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
    • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
    • ¥30 3天&7天&&15天&销量如何统计同一行
    • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型