数据结构 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;
        }

 

posted @ 2020-08-16 12:40  赚钱买个打印机  阅读(89)  评论(0编辑  收藏  举报