天天看点

线性表--顺序表

一、什么是线性表

线性表是具有相同数据类型的n个数据元素的有限序列。

即每个元素类型所占的空间大小相同。有次序的有限序列。

如:线性表L

L=(a₁,a₂,a₃....,ai,ai+1..,an)

除第一个元素外,每个元素有且只有一个直接前驱,除最后一个元素外,每个元素有且只有一个直接后继。a₁为a₂的直接前驱,a₃为a₂的直接后继。

二、顺序表

顺序表:

a₁

a₂

a₃

...

an

线性表的存储顺序又称顺序表。它是一组地址连续的存储单元依次存储在线性表中的数据元素。

线性表的顺序存储结构是一种随机存取的存储结构。

对线性表的操作

1.插入操作:在第i(1<i<L.length)个位置插入新元素e

算法思想:

·判断在范围i内是否有效

·判断空间存储是否还有位置

·第i个元素及以后元素向后移

·在位置i处放入e

·表长+1

(线性表的位序从1开始,数组元素的下标从0开始)

线性表--顺序表

2.删除元素

线性表--顺序表

 3.查找元素

线性表--顺序表

bool ListInsert(SqList &L,int i,ElemType e){

    if(i<1||i<length+1)   //判断i的范围是否有效

    return false;

   e=L.data[i-1];   //将删除的元素赋值给e

   for(int j=i;j<L.length;j++)   //将i元素及向后移

   L.data[j-1]=L.data[j];

   L.length--;

   return ture;

}

下一篇: bond安装