2.2线性表的顺序表示

发布时间 2023-10-16 20:17:59作者: abandon11

2.2.1顺序表的定义

知识总览

顺序表的定义

顺序表――用顺序存储的方式实现线性表顺序存储。把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

顺序表的实现——静态分配

静态顺序表

#include<stdio.h>
#define MaxSize 10
typedef struct{
	int data[MaxSize];
	int length;
}SqList; 
void InitList(SqList &L){
	L.length=0; //顺序表初始长度为0 
}
int main(){
  SqList L;  //声明一个顺序表 
  InitList(L);  //初始化顺序表 
  for(int i=0;i<MaxSize;i++)
     printf("data[%d]=%d\n",i,L.data[i]);
  return 0;
}

 

顺序表的特点:

1随机访问,即可以在 O(1}时间内找到第i个元素。

2存储密度高,每个节点只存储数据元素

3拓展容量不方便(即便采用动态分配的方式实现,拓展长度的时间复杂度也比较高)

4插入、删除操作不方便,需要移动大量元素

总结