| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 729 人关注过本帖
标题:大手们帮我看看链表
取消只看楼主 加入收藏
不虞
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-4-17
收藏
 问题点数:0 回复次数:1 
大手们帮我看看链表
在进行删除操作后程序会出错,并且输出是倒序的?...
#include <stdio.h>
#include <stdlib.h>
typedef struct LNode{
int  grade;
struct LNode *next;
}LNode, *Linklist;

Linklist Createhead(LNode *head){
head=(Linklist)malloc(sizeof(LNode));
head->next=NULL;
return head;
}

Linklist CreateList_L(int n,LNode *head){
 LNode *p;
int gra;
int i;
for(i=n;i>0;i--){
    p=(Linklist)malloc(sizeof(LNode));
    printf("请依次输成绩");
    scanf("%d,%d",&gra);
    p->grade=gra;
    p->next=head->next;
    head->next=p;

}
return head;
}
Linklist ListInsert_L(int a,Linklist head,int m){
LNode *p;
Linklist s;
int j;
p=head;
j=0;
while(p&&j<a-1)
    {
        p=p->next;
        ++j;
    }

s=(Linklist)malloc(sizeof(Linklist));
s->grade=m;
s->next=p->next;
p->next=s;
return head;
}

Linklist ListDelete_L(int b, Linklist head){
LNode *p,*q;
int j;
p=head;
j=0;
while(p->next&&j<b-1){
    p=p->next;
    ++j;
}

q=p->next;
p->next=q->next;

free(q);
return head;
}

Linklist ListTraverse(Linklist head,int n){
int h;
Linklist p;
p=head;
for(h=0;h<n;h++)
{
    p=p->next;
printf("第%d个数据值为%d\n",h+1,p->grade);
}
p=p->next;
if(p==NULL)
printf("输出完毕\n");
return head;
}

void main(){
int n,Y,a,X,b,m;

LNode *head;
head=Createhead(head);
printf("请输入学生总数");
scanf("%d",&n);
head=CreateList_L(n,&*head);
    printf("你是否需要插入数据 1.是 2.不是");
    scanf("%d",&Y);
   if(Y==1){
    printf("你需要在第几个前插入数据");
    scanf("%d",&a);
    printf("请输入要插入的数据");
    scanf("%d",&m);
    head=ListInsert_L(a,&*head,m);
    n++;
   }
   printf("你是否需要删除数据1.是2.不是");
   scanf("%d",&X);
   if(X==1){
    printf("你需要删除第几个数据");
    scanf("%d",&b);
head=ListDelete_L(b,&*head);
}
   ListTraverse(&*head,n);
   system("pause");
}
搜索更多相关主题的帖子: include return 
2017-04-17 19:12
不虞
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-4-17
收藏
得分:0 
回复 2楼 wp231957
谢谢我去画图理解一下.
2017-04-19 16:16
快速回复:大手们帮我看看链表
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018998 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved