第15课 - 线性表的顺序存储结构

原创 2018年04月15日 14:29:23

1、线性表的顺序存储结构

        顺序存储的定义 

                线性表的顺序存储结构,指的是用—段地址连 

                续的存储单元依次存储线性表中的数据元素。

        


        设计思路 

            可以用一维数组来实现顺序存储结构 

                存储空间T* m_array

                当前长度 int m_length

            


        顺序存储结构的元素获取操作 

            -判断目标位置是否合法 

            -将目标位置作为数组下标获取元素

        

bool Seqlist<T>::get(int i,T& e) const
{
    bool ret = (0 <= i)&&(i<m_length);
    
    if(ret)
    {
        e = m_array[i];
    }
    
    return ret;
}

2、编程实验 

    图解元素获取 



        顺序存储结构的元素插入操作 

            1. 判断目标位置是否合法 

            2. 将目标位置之后的所有元素后移—个位置 

            3. 将新元素插入目标位置 

            4. 线性表长度加1 


        顺序存储结构的元索插入示例 

bool SeqList<T>::insert(int i,const T& e)
{
    bool ret = (0 <= i)&&(i <= m_length);
    
    ret = ret && ( (m_length+1) <= capacity() );
    
    if(ret)
    {
        for(int p=m_length-1;p>=i;p--)
        {
            m_array[p+1] = m_array[p];
        }
        
        m_array[i] = e;
        m_length++;
    }
}

3、编程实验 

    图解元素插入

    



        顺序存储结构的元索删除操作 

            1. 判断目标位置是否合法 

            2. 将目标位置后的所有元素前移—个位置 

            3. 线性表长度减1


        顺序存储结构的元素删除示例

bool SeqList<T>::remove(int i)
{
    bool ret = (0 <= i) && (i < m_length);
    
    if(ret)
    {
        for(int p=i;p<m_length;p++)
        {
            m_array[p] = m_array[p+1];
        }
        
        m_length--;
    }
    
    return ret;
}


4、编程实验 

    图解元素删除 

    


5、实战预告

        To be continued ...

                



版权声明:该博客笔记均整理于狄泰软件,未经博主允许,禁止将笔记转载 https://blog.csdn.net/qq_39654127/article/details/79948787

线性表的顺序存储结构与链式存储结构的比较

1. 顺序存储结构: 优点: 1)随机存取(时间复杂度为O(1)); 2)无需为表示表中元素之间的逻辑关系而增加额外的存储空间; 缺点: 1)插入、删除操作需要移动大量元素,效率低(时间复杂...
  • njnu_mjn
  • njnu_mjn
  • 2011-10-29 21:59:47
  • 17210

线性表的顺序存储结构(插入与删除)

1.顺序存储定义 线性表中的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。 2.地址计算方法 线性表的第i个元素是要存储在数组下标为i-1的位置。 假设占用的是c个存储...
  • rujin_shi
  • rujin_shi
  • 2018-03-05 10:42:18
  • 41

数据结构与算法(1)线性表的顺序存储结构

转专业到计算机,最近在努力的提高自己的编程能力。数据结构与算法可以说是程序员的内功心法,我也下定决心学好这项内容,因此准备写下这一路的体会。一来鞭策自己不要中途懈怠、半途而废,二来以备将来查看方便。在...
  • dfq12345
  • dfq12345
  • 2016-08-11 17:42:19
  • 1398

线性表的顺序存储结构及该结构的插入与删除

顺序存储定义线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。 顺序存储方式 线性表的顺序存储结构,就是在内存中找了块地儿,通过站位的形式,把一定内存空间给占了,...
  • J_1234567890
  • J_1234567890
  • 2016-05-06 10:52:41
  • 4711

线性表-顺序存储结构之顺序表

顺序表 1. 顺序表的定义 (1) 顺序存储方法   即把线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里的方法。 (2) 顺序表(Sequential List)   用顺...
  • qilixiang012
  • qilixiang012
  • 2014-08-14 20:35:58
  • 1144

线性表(一)之线性表的顺序存储结构

#include #include #include #include #define LIST_INIT_SIZE 10 #define LISTINCREMENT 2 #define ...
  • birdflyto206
  • birdflyto206
  • 2014-10-21 07:25:03
  • 420

线性表顺序存储结构完整可执行代码

线性表顺序存储结构完整可执行代码
  • cckevincyh
  • cckevincyh
  • 2015-05-09 21:53:32
  • 4300

C++ 线性表顺序存储结构的实现

线性表顺序存储实现元素的插入,删除和读取
  • jihao0919
  • jihao0919
  • 2016-09-23 00:39:44
  • 687

线性表包括顺序存储结构和链式存储结构

还记得数据结构这个经典的分类图吧: 今天主要关注一下线性表。 什么是线性表 线性表的划分是从数据的逻辑结构上进行的。线性指的是在数据的逻辑结构上是线性的。即在数据...
  • jobbofhe
  • jobbofhe
  • 2016-07-08 21:53:31
  • 1040

数据结构之线性表的顺序存储结构介绍及源代码

  • 2015年06月20日 00:45
  • 253KB
  • 下载
收藏助手
不良信息举报
您举报文章:第15课 - 线性表的顺序存储结构
举报原因:
原因补充:

(最多只允许输入30个字)