文の基本的な要素
#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;
逆の順序でダイナミックな双方向リンクリストを作成します。
アイコン:リストが空である場合、第1のインサート要素が
示さ:リストが空でない場合、追加の要素を挿入します
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 */
}
}