数据结构(五)——双链表、链式栈、链式队列 及实现

本文详细介绍了双链表的概念,包括其数据结构和常见操作,并对比了与单链表的区别。接着,文章探讨了链式栈的定义、操作,如输出节点值、入栈和出栈等。最后,讲解了链式队列的结构和操作,如建立空队列、判断队列状态、入列和出列。通过实例展示了这些数据结构的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、双链表

在单链表的基础上再增加一个指向它前驱的指针,就构成了双链表。

所以双链表有三个变量:数据信息info、前驱指针llink、后继指针rlink。

 

二、双链表操作和实现

   由于双链表也为单链表的一种变型,一些相似的操作就没一一列举,可以参考数据结构(四)——单链表 、带头结点的单链表、循环链表 及其实现

 

1、数据结构

2、在i位置插入结点

3、在y元素后插入结点

4、删除值为x的结点

1、数据结构

typedef int datatype;

typedef struct dlink_node{
    datatype info;
    dlink_node* llink;
    dlink_node* rlink;
}dnode;


2、在i位置插入结点

include"linklist.h"

node* insert_link_list_index(node *head,int index,datatype x){
    if(index<0){
        printf("index error\n");
        exit(1);
    }
    if(index == 0){         //在链表首插入
        no
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值