数据结构之线性表(一)
线性表
-
是数据结构中最简单且常用的一种结构
-
它由相同的数据类型的n个元素组成的有限序列
-
按照存储结构,可以分为 顺序表和链表两种
顺序表
主要特点是可以进行随机访问,可以通过表头元素的地址和元素的下标在O(1)的时间复杂度找到指定元素,主要介绍***构造,插入,扩容,查找,删除,遍历***这些操作
- 特点 顺序表是用一组地址连续的储存单元依次存储数据元素,元素在逻辑和物理位置上是相邻的
- 缺点: 插入和删除要移动大量的元素从而保持逻辑和物理上的连续性.
-
构造顺序表
-
定义顺序链表的构造体类型
typedef struct Vector { int size,length; //size用来存链表的大小,length存元素的长度 int *data;//data指针用来指向内存上开辟的空间. }Vector
-
初始化顺序链表被在堆上为其分配空间
void init(Vector *vector,int size) { vector->size = size; vector->length = 0; vector->data = (int *)malloc(sizeof(int)*size);//data指针指向malloc开辟的size个int类型的内存空间 } int main() { Vector *a = (Vector *)malloc(sizeof(Vector));//定义一个Vector类型的a指针,并为他指向一个Vector类型的内存空间. init(a, 100);//初始化a让其data数据
-
-