C++ | 链表介绍

本文介绍了链表这一线性表形式,详细讲解了链表的数据域和指针域,按存在头结点的分类,以及如何使用malloc和new运算符分配链表节点的存储空间。同时,讨论了链表的基本操作,包括创建、查找、插入和删除元素,以及静态链表的实现原理。最后,提到了动态内存分配中避免内存泄漏的重要性。
摘要由CSDN通过智能技术生成
线性表分为:
  • 顺序表(数组,内存地址连续)
  • 链表(存储空间不连续);
一.链表:数据域+指针域

链表的两个结点之间一般通过一个指针来从一个结点指向另外一个结点;
链表则是由若干个地址可能不连续的结点通过指针连接而成,且最后一个结点的next指针指向NULL,即空地址,表示一条链表的结尾。
链表
链表的类型:单向链表,双向链表以及循环链表。

二.按是否存在头结点分为:
  • 带头结点的链表
  • 不带头结点的链表

头结点一般称为head,且其数据域data不存放任何内容,而指针域next指向第一个数据域有内容的结点(一般把这一个结点叫做第一个结点);

三.使用malloc函数和new运算符为链表结点分配存储空间

1.malloc函数
malloc函数是C语言中stdlib.h头文件下用于申请动态内存的函数,其返回类型是申请的同变量类型的指针;

//举例
// typename *p = (typename *)malloc(sizeof(typename));
node *p = (node *)malloc(sizeof(node));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值