数据结构 4
顺序表
线性表的顺序存储
顺序表的样子:

顺序表的特点:
逻辑上顺序,在物理存储上也是顺序的,相邻的
随机访问,通过序号可以有限的时间内找到所需的元素
存储密度高,每个节点只存储数据元素
插入和删除正常需要移动很多元素
顺序表的基本操作:
插入操作图片:

代码:
//顺序表的插入操作
    bool ListInsert (SqList &L, int i , ElemType e){
        if(i < 1 ||  i >L.length +1)//判断i的范围是否合法
        return false
        if( L.lenth >= MaxSize)//存储空间是否满了
            return false;
            
            //开始插入元素
        for(int j = L.ength;j>=i;j--){
            L.data[j] = L.data[j-1];
            L.data[i-1] = e;
            L.length++;
            return true;
        
        }
删除操作:
代码:
//顺序表删除操作代码
bool ListDelete(SqList &L, int i ,ElemType &e){
    if(i<1 || i>L.length)//判断i的范围是否合法
        return false;
    
    e = L.data[i-1];//将要删除的元素值取出来
    
    //开始删除第i个
    for(int j = i; j<=L.length; j++){
        //前移
            L.data[j-1] = L.data[j];
            }
            L.length--;
            return true;
        }
//按值查找
  代码:
  int  LocateElem (SqList  &L, ElemType e){
    int i ;
    for(i=0; i<L.length;i++){
        if( L.data[i] == e){
            return i+1;    //输出第几个元素
            }
        return 0;
        }
