数据结构——003顺序表

顺序表


定义: 是线性表的顺序存储表示。它用一组地址连续的存储单元,按照线性表中数据元素的顺序,依次存储线性表中的数据元素。实现了逻辑相邻转换成地址相邻。
特点:
①第i个元素存储在第i个物理位置(第i个地址代表的内存空间)(1≤i≤n)
②顺序表中的数据元素可以被顺序访问和随机访问。顺序访问是从第一个数据元素开始逐个访问;随机访问就是根据元素位置(下标)直接访问。


顺序表的存储:(C语言描述)

/*静态存储表示*/
#define maxSize 1000
typedef char DataType;
typedef struct
{
     DataType data[maxSize];
     int n;
}SeqList_V1;
/*动态存储表示*/
#define initSize 1000
typedef char DataType;
typedef struct
{
     DataType *data;
     int maxSize,n;
}SeqList_V2;
/*初始化分配主要语句*/
DataType *data = (DataType *)malloc(sizeof(DataType)*initSize)
maxSize = initSize ;
n = 0;

插入与删除运算
在这里插入图片描述
插入运算平均移动次数:
n/2 = (1/(n+1))×SUM(n+1-i),i=1,2,…,n+1
删除运算平均移动次数:
(n-1)/2 = (1/n)×SUM(n-i),i=1,2,…,n


顺序表的优点是存储密度高(存储利用率高)

猜你喜欢

转载自blog.csdn.net/codeIsGood/article/details/83959901