数据结构的C++实现之顺序表
注:本文为清华大学计算机系列教材《数据结构》-殷人昆-第2版的学习笔记
线性表的定义
在所有的数据结构中,最简单的是线性表(linear list)。通常,定义线性表为n(n>=0)个数据元素的一个有限序列。记为:
其中,L是 表名,
是表中的数据元素,是不可再分割的原子数据,也称为
结点或表项。n是表中的表项个数,也称为
表的长度。若n=0叫做
空表,此时,表中一个表项也没有。线性表的第一个表项称为
表头(head),最后一个称为
表尾(tail)。
线性表的实现方式
线性表的主要存储方式有: - 基于数组的存储表示:顺序表 - 基于链表的存储方式:链表
顺序表的定义:把线性表中的所有表项按其逻辑顺序依次存储到从计算机存储中指定存储位置开始的一块连续的存储空间中。这样,顺序表的第一个表项的存储位置就是被指定的存储位置,第i个表项的存储位置紧接在第i-1个表项存储位置的后面。
点击此处查看单链表的C++实现
顺序表的C++程序实现:
说明:本程序是线性表基于C++一维数组的实现(即顺序表的实现)
这是线性表的头文件: linearLish.h
// 顺序表的抽象基类(线性表)
这是顺序表的头文件:seqList.h
/*
这是顺序表的实现文件:shun_xu_biao.cpp
# include "seqList.h"