一、单链表与顺序表的区别:
一、顺序表:
1、内存中地址连续
2、长度可以实时变化
3、不支持随机查找
4、适用于访问大量元素的,而少量需要增添/删除的元素的程序
5、中间插入或者删除比较方便,内存命中率较高
二、链表
1、内存中地址不连续(逻辑上连续,物理上不连续)
2、长度可以实时变化(避免浪费空间)
3、不支持随机查找,查找的时间复杂度为o(1),
4、适用于访问大量元素的,对访问元素无要求的程序
5、中间插入或者删除比较方便,效率高
二、关于链表中的一些函数接口的作用及实现
1、创建接口,开辟空间
2、尾插尾删
3、头插头删
4、查找并修改
5、中插中删
ps:我看了许多的单链表文章,在插删的接口实现上大多数是往前进行插删,这里写的则是往后进行插删
1、头文件里的结构体和函数声明等等
#pragma once #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<assert.h> typedef int SListDataType; //节点