链表(C++)和(Python)

本文深入探讨了链表这一数据结构,强调其在内存中非连续存储的特点,并通过C++和Python展示了如何创建、修改、删除、插入、查找节点以及输出链表。重点讲解了链表的基本操作,有助于提升对链表的理解。
摘要由CSDN通过智能技术生成

链表因其出题灵活、代码量适中成为面试时常考数据结构之一,而我本身对它的理解模棱两可,所以有必要对其进行集中学习整理。

链表和数组一样属于线性表,但相比于数组,链表在内存中的存储不需要申请连续空间。因为链表本身的节点包括了一个用于存放数据的数据域和一个指向下一个节点地址的指针域。

建立一个简单的节点

# include <iostream>

using namespace std;
typedef struct linknode
{
    int data;   // 要存放在节点中的数据
    linknode *next; // 指向下一个与该节点有相同结构节点的指针
}linknode;

这个节点还可以这样扩充

/* 创建结构体,用来创建数据,该例中即创建了有学号、姓名、性别信息的数据 */
typedef struct data   // 创建数据结构,用来创建数据
{
    int number;
    string name;
    string sex;
}data;

typedef struct linknode
{
    data *information;
    linknode *next;   // 添加后向指针
    linknode *pre;    // 添加前向指针
}linknode;

因此,我们可以创建一个基础链表

typedef struct data
{
    int number;
    string name;
    string sex;
}data;


typedef struct linknode
{
    data *information;
    linknode 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值