2.3.4 循环链表

2.3.4 循环链表

1778749710754

1778749729980

typedef struct LNode{//定义单链表类型结构
    ElemType data;//每个节点存放一个数据元素
    struct LNode *next;//指针指向下一个结点
}LNode,*LinkList;

//初始化一个循环链接
bool InitList(LinkList &L){
    L = (LNode *)malloc(sizeof(LNode));//分配一个头结点
    if(L==NULL)//内存不足,分配失败
        return false;
    L->next = L;//头结点next指向头结点
    return true;
}
//判断循环单链表是否为空
bool Empty(LinkList L){
    if(L->next ==L)
        return true;
    else
        return false;
}

//判断结点p是否为循环单链表的表尾结点
bool isTail(LinkList L,LNode *p){
    if(p->next==L)
        return true;
    else
        return false;
}

1778812079001

1778812154583

1778812224881

循环双链表

1778812255956

typedef struct DNode{
    ElemType data;
    struct DNode *prior,*next;
}DNode,*DLinklist;
//初始化空的双循环链表
bool InitDLinkList(DLinklist &L){
	L=(DNode *)malloc(sizeof(DNode));//分配一个头结点
    if(L==NULL)//内存不足,分配失败
        return false;
    L->prior=L;//头结点的poior指向头结点
    L->next=L;//头结点的next指向头结点
    return true;
}

void testDLinkList(){
    //初始化循环双链表
    DLinklist L;
    InitDLinkList(L);
    //....后续代码...
}

//判断循环双链表是否为空
bool Empty(DLinklist L){
    if(L->next == L)
        return true;
    else
        return false;
}
//判断结点p是否为循环双链表的标尾结点
bool isTail(DLinklist L,DNode *p){
    if(p->next==L)
        return true;
    else
        return false;
}

1778812935956

双链表的插入

//在p点之后插入s结点
bool InsertNextDNode(DNode *p,DNode *s){
    s->next = p->next;//将结点*s插入到结点*p之后
    p->next->prior = s;
    s->prior = p;
    p->next = s;
}

1778812986915

双链表的删除

//删除p的后继结点q
p->next = q->next;
q->next->prior = p;
free(q);

1778813293946

1778813323879

2.3.5 静态链表

1778813829048

1778813944048

用代码定义一个静态链表

#define MaxSize 10//静态链表的最大长度
struct Node{//静态链表结构类型的定义
    ElemType data;//存储数据元素
    int next;//下一个元素的数组下标
};

void testSLinkList(){
    struct Node a[MaxSize];
    //...后续代码...
}

1778814238018

1778814461916

1778814532840

简述基本操作的实现


1778814662806

1778814752055

2.3.6顺序表和链表的比较

1778814810616

1778814918070

1778814896377

1778815315206

1778815413377

1778815531937

1778815590305

1778815653021

1778815682073

posted @ 2026-05-15 15:19  轻狂书生han  阅读(6)  评论(0)    收藏  举报