标题:编写算法,顺序输出单链表
只看楼主
丁猫小晓
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-5-7
结帖率:0
已结贴  问题点数:20 回复次数:4 
编写算法,顺序输出单链表
头文件中的改写部分:
Status CreateList_L(LinkList &L,int n){
    LNode *p,*q;
    int i;
    L=(LinkList)malloc(sizeof(LNode));
    L->next=NULL;
    printf("input data in order\n");
    p=(LinkList)malloc(sizeof(LNode));
    scanf("%d",&p->data);
    p=L->next;
    for(i=2;i<=n;++i){
        q=(LinkList)malloc(sizeof(LNode));
        scanf("%d",&q->data);
        q=p->next;//调试到此发生错误,不知道如何改进
        p=(LinkList)malloc(sizeof(LNode));
        scanf("%d",&p->data);
        q=p->next;   
    }
    return OK;
}
cpp文件
#include"linklist.h"
void main(){
LinkList lista;
int lengtha;
ElemType e;
printf("input the length of lista\n");
scanf("%d",&lengtha);
printf("input the element of lista\n");
CreateList_L(lista,lengtha);
printf("lista is\n");
print_list(lista);

}
望大侠帮忙看一下,顺便改一下错误,这个是要顺序输出单链表。谢谢
搜索更多相关主题的帖子: next 如何 
2013-05-08 23:11
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
得分:7 
p=L->next;            //前面有L->next = NULL;现在执行这个语句后p就是NULL;
    for(i=2;i<=n;++i){
        q=(LinkList)malloc(sizeof(LNode));
        scanf("%d",&q->data);
        q=p->next;//刚才说了p为NULL,所以执行p->next就会错;

练就一身本领,只为笑傲江湖!
2013-05-09 17:50
Emily_CYY
Rank: 2
等 级:论坛游民
帖 子:22
专家分:13
注 册:2013-4-1
得分:7 
p=L->next;改成L->next=p
2013-05-09 22:04
yyqd2013
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:35
专家分:154
注 册:2013-5-8
得分:7 
逻辑出现严重错误,导致:
L->next=NULL;
p=L->next;
q=p->next;//调试到此发生错误,不知道如何改进

建议学会断点调试。
可改为:
        q=(LinkList)malloc(sizeof(LNode));
        scanf("%d",&q->data);
        p->next = q;
        p = q;
        这样的思路。
2013-05-11 21:09
楠楚枫
Rank: 1
来 自:中国
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-11-14
得分:0 
回复 2楼 笑傲
可是为什么我的只能输出最后一个数
2016-11-14 19:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406561-1-1.html




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

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