标题:这个怎么显示后面不显示出来
只看楼主
童国顺
Rank: 1
等 级:新手上路
帖 子:70
专家分:6
注 册:2010-4-18
结帖率:60%
已结贴  问题点数:5 回复次数:2 
这个怎么显示后面不显示出来
#include<stdio.h>
#include<malloc.h>
typedef char ElemType;
typedef struct LNode
{
    ElemType data;
    struct LNode *next;
}LinkList;
extern void InitList(LinkList *&L);
extern void DestroyList(LinkList *&L);
extern void DestroyList(LinkList *&L);
extern int ListEmpty(LinkList *L);
extern int ListLength(LinkList *L);
extern void DispList(LinkList * L);
extern int GetElem(LinkList *L,int i,ElemType &e);
extern int ListInsert(LinkList *&L,int i,ElemType e);
extern int ListDelete(LinkList *&L,int i,ElemType &e);
//*************************************
void InitList(LinkList *&L)
{
    L=(LinkList *)malloc(sizeof(LinkList));
    L->next=NULL;
}
//**************
void DestroyList(LinkList *&L)
{
    LinkList *p=L,*q=p->next;
    while(q!=NULL)
    {
        free(p);
        p=q;
        q=p->next;
    }
    free(p);
}
//********************
int ListEmpty(LinkList *L)
{
    return(L->next==NULL);
}
//****************
int ListLength(LinkList *L)
{
    LinkList *p=L;int i=0;
    while(p->next!=NULL)
    {
        i++;
        p->next;
    }
    return(i);
}
//*******************
void DispList(LinkList * L)
{
    LinkList *p=L->next;
    while(p!=NULL)
    {
        printf("%c",p->data);
        p=p->next;
    }
    printf("\n");
}
//***************
int GetElem(LinkList *L,int i,ElemType &e)
{
    int j=0;
    LinkList *p=L;
    while(j<i&&p!=NULL)
    {
        j++;
        p=p->next;
    }
    if(p==NULL)
        return 0;
    else
    {
        e=p->data;
        return 1;
    }
}
//************************
int LocateElem(LinkList *L,ElemType e)
{
    LinkList *p=L->next;
    int n=1;
    while(p!=NULL&&p->data!=e)
    {
        p=p->next;
        n++;
    }
    if(p==NULL)
        return (0);
    else
        return (n);
}
//***********************
int ListInsert(LinkList *&L,int i,ElemType e)
{
    int j=0;
    LinkList *p=L,*s;
    while(j<i-1&&p!=NULL)
    {
        j++;
        p=p->next;
    }
    if(p==NULL)
        return 0;
    else
    {
        s=(LinkList *)malloc(sizeof(LinkList));
        s->data=e;
        s->next=p->next;
        p->next=s;
        return 1;
    }
}
//*************************
int ListDelete(LinkList *&L,int i,ElemType &e)
{
    int j=0;
    LinkList *p=L,*q;
    while(j<i-1&&p!=NULL)
    {
        j++;
        p=p->next;
    }
    if(p==NULL)
        return 0;
    else
    {
        q=p->next;
        if(q==NULL) return 0;
        e=q->data;
        p->next=q->next;
        free(q);
        return 1;
    }
}
//****************************
void main()
{
    LinkList *h;
    ElemType e;
    printf("1.初始化单链表h\n");
    InitList(h);
    printf("2.依次采用尾插法插入a,b,c,d,e元素\n");
    ListInsert(h,1,'a');
    ListInsert(h,2,'b');
    ListInsert(h,3,'c');
    ListInsert(h,4,'d');
    ListInsert(h,5,'e');
    printf("3.输出单链表h:");
    DispList(h);
    printf("4.单链表h长度=%d\n",ListLength(h));
    printf("5.单链表h为%s\n",(ListEmpty(h)?"空":"非空"));
    GetElem(h,3,e);
    printf("6.单链表h的第三个元素=%c\n",e);
    printf("7.元素a的位置=%d\n",LocateElem(h,'a'));
    printf("8.在第4个元素位置上插入f元素\n");
    ListInsert(h,4,'f');
    printf("9.输出单链表h:\n");
    DispList(h);
    printf("10.删除h的第三个元素\n");
    ListDelete(h,3,e);
    printf("11..输出单链表h:\n");
    DispList(h);
    printf("12.释放单链表h\n");
    DestroyList(h);
}
显示结过只显示到 3.  后面4-12都不显示
搜索更多相关主题的帖子: include 
2011-03-19 16:17
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
得分:3 
int ListLength(LinkList *L)
{
    LinkList *p=L;int i=0;
    while(p->next!=NULL)
    {
        i++;
        p = p->next;
    }
    return(i);
}
2011-03-21 08:28
变幻小子
Rank: 6Rank: 6
来 自:广东陆丰
等 级:侠之大者
帖 子:188
专家分:473
注 册:2011-3-4
得分:3 
路过  学习

明天的梦
2011-03-22 22:54



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




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

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