Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402346
  • 博文数量: 199
  • 博客积分: 154
  • 博客等级: 入伍新兵
  • 技术积分: 1530
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-14 08:43
文章分类

全部博文(199)

文章存档

2015年(101)

2014年(97)

2011年(1)

分类: C/C++

2015-05-15 17:23:11

typedef int ElemType;

typedef struct node{
    ElemType data;   /*数据域*/
    struct node *next;  /*指针域*/
}LNode,*LinkList;

LinkList GreatLinkList(int n){
    LinkList p,r,list=NULL;
    ElemType e;
    int i;
    for(i=1;i<=n;i++){
        scanf("%d",&e);
        p=(LinkList)malloc(sizeof(LNode));
        p->data=e;
        p->next=NULL;
        if(!list)
            list=p;
        else
            r->next=p;
        r=p;
    }
    return list;
}

void insertList(LinkList *list,LinkList q,ElemType e){
    LinkList p;
    p=( LinkList)malloc(sizeof(LNode));
    p->data=e;
    if(!*list){
    *list=p;
    p->next=NULL;
    }
    else{
        p->next=q->next;
        q->next=p;
    }   
}

void delLink(LinkList *list ,LinkList q){
    LinkList r;
    if(q==list){
        *list=q->next;
        free(q);
    }
    else{
        for(r=*list;r->next!=q;r=r->next);
        if(r->next!=NULL){
            r->next=q->next;
            free(q);
            }
    }
}

void  destroyLinkList(LinkList *list){
    LinkList p,q;
    p=*list;               
    while(p){
    q=p->next;
    free(p);
    p=q;
    }
    *list=NULL;
}
main()
{
    int e,i;
    LinkList l,q;
    q=l=GreatLinkList(1);   /*创建一个链表结点,q和l指向该结点*/
    scanf("%d",&e);
    while(e)             /*循环地输入数据,同时插入新生成的结点*/
    {
      insertList(&l,q,e) ;
      q=q->next;
      scanf("%d",&e);
    }
    q=l;
    printf("The content of the linklist\n");
    while(q)          /*输出链表中的内容*/
    {
      printf("%d ",q->data);
      q=q->next;
    }
    q=l;
    printf("\nDelete the fifth element\n");
    for(i=0;i<4;i++)    /*将指针q指向链表第5个元素*/
    {
        q=q->next;
    }
    delLink(&l,q);     /*删除q所指的结点*/
    q=l;
    while(q)            /*打印出删除后的结果*/
    {
      printf("%d ",q->data);
      q=q->next;
    }
    destroyLinkList(&l);  /*释放掉该链表*/
}

阅读(1062) | 评论(0) | 转发(0) |
0

上一篇:动态顺序表

下一篇:

给主人留下些什么吧!~~