实用库/函数之链表的使用

目录

1.1结点的建立

1.2为链表结点分配内存空间

1.stdlib:malloc函数与free函数

2.new运算符与delete运算符

1.3链表的基本操作

1.链表的创建

(1)头插法

(2)尾插法

2.查找

3.插入

4.删除

5.总结(小tip)

1.4静态链表(类似于数组)


1.1结点的建立

typedef struct node  //typedef方法函数可以对于struct Node进行重命名

{

    int data;//数据域,指定数据类型,以int为例,用于存放结点的数据

    struct Node* next;//指针域,指向链表中的下一个结点的地址



}LNode, * LinkList;//因为用到typedef,所以可以在该行给Node起别名,起了2个别名

解释:

(1)可以理解成:*LinkList=&LNode则LinkList=&LNode、*LinkList=LNode

访问时有4种方式:

①LinkList->data,LinkList->next

②(&LNode)->data,(& LNode)->next

③(*LinkList).data,(*LinkList).next

④LNode.data,LNode.next

定义新的结点:LNode *L = LinkList L

例:参考:http://t.csdnimg.cn/79T2Wicon-default.png?t=N7T8http://t.csdnimg.cn/79T2W

实用库/函数之链表的使用_第1张图片

实用库/函数之链表的使用_第2张图片

(2)关于typedef:

它是C语言中的一个关键字,用于为现有的类型定义一个新的名字即别名。其基本语法如下:typedef 原类型 新类型名; 可以简化代码

(3)关于头结点与第一个结点:

头结点:head,数据域为空,指针域next指向第一个数据域有内容的结点(即第一个结点)

好处:简化了对边界的处理

实用库/函数之链表的使用_第3张图片

1.2为链表结点分配内存空间

1.stdlib:malloc函数与free函数

分配空间:

实用库/函数之链表的使用_第4张图片

解释:申请内存大小为sizeof(node) 的空间,返回指向这块空间的指针,将其强制转换为相应的指针类型,并将其赋给node*型的指针变量p,通过p访问它,申请失败(一般是申请了较大的动态数组),返回空指针。

释放

你可能感兴趣的:(实用库/函数,链表,数据结构,c++,算法)