码迷,mamicode.com
首页 > 其他好文 > 详细

双向动态链表

时间:2019-10-04 11:49:18      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:als   插入   erro   图片   http   png   typedef   双向   fine   

基本要素声明

#include <stdio.h>
#include <stdlib.h>

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

typedef int Status;
typedef int ElemType;

typedef struct DuLNode
{
    ElemType data;
    struct DuLNode * prior;
    struct DuLNode * next;
}DuLNode,*DuLinkList;

双向动态链表逆序创建

图示:当链表为空,插入第一个元素的情况
技术图片
图示:当链表非空,插入其他元素的情况
技术图片

void CreateDuList(DuLinkList *L, int n)
{
    *L = (DuLinkList)malloc(sizeof(DuLNode)); /* 创建头结点 */
    (*L)->next = NULL;
    (*L)->prior = NULL;

    DuLinkList p;
    if(n>0) {  /* 如果是第一个结点 */
        p = (DuLinkList)malloc(sizeof(DuLNode));
        scanf("%d",&p->data);
        p->next = (*L)->next;
        p->prior = (*L);
        (*L)->next = p;
        n--;
    }
    for( ; n>0; n--) {
        p = (DuLinkList)malloc(sizeof(DuLNode));
        scanf("%d",&p->data);
        p->next = (*L)->next;
        p->prior = (*L);        /* 新结点p先指向两边两个 */
        (*L)->next->prior = p;  /* 后一个prior指针指向p */
        (*L)->next = p;         /* 前一个next指针指向p */
       
    }
}

双向动态链表

标签:als   插入   erro   图片   http   png   typedef   双向   fine   

原文地址:https://www.cnblogs.com/wjundong/p/11621644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!