| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 408 人关注过本帖
标题:这个怎么显示后面不显示出来
取消只看楼主 加入收藏
童国顺
Rank: 1
等 级:新手上路
帖 子:70
专家分:6
注 册:2010-4-18
结帖率:60%
收藏
已结贴  问题点数:5 回复次数:0 
这个怎么显示后面不显示出来
#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
快速回复:这个怎么显示后面不显示出来
数据加载中...
 
   



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

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