顺序表 把线性表的结点按逻辑顺序依次存放在一组地 址连续的存储单元里。用这种方法存储的线性 表简称顺序表 假设线性表的每个元素需占用个存储单 元,并以所占的第一个单元的存储地址作为数 据元素的存储位置。则线性表中第i+1个数据 元素的存储位置LOC(ai+1)和第i个数据元素 的存储位置LOC(ai)之间满足下列关系: LoC(a i+1=LoC(a i+ 线性表的第个数据元素a的存储位置为: LoC(ai=Loc(a1)+(i-1)* lixuejun@swust.edu.cn
lixuejun@swust.edu.cn 把线性表的结点按逻辑顺序依次存放在一组地 址连续的存储单元里。用这种方法存储的线性 表简称顺序表。 假设线性表的每个元素需占用l个存储单 元,并以所占的第一个单元的存储地址作为数 据元素的存储位置。则线性表中第i+1个数据 元素的存储位置LOC( a i+1)和第i个数据元素 的存储位置LOC(a i )之间满足下列关系: LOC(a i+1)=LOC(a i)+l 线性表的第i个数据元素ai的存储位置为: LOC(ai)=LOC(a1)+(i-1)*l 顺序表
顺序表的类定义 DS 数据成员包括:1数组2.数组的最 计大元素个数3当前数组元素的个数 算 机操作 初始化构造表在表的某 学位置插入一个元素在表的某一位置 院删除一个元素定位某个数据元素在 表中的存储位置取表的某个存储 自 教 位置的数据元素判表是否为空 研 室 lixuejun@swust.edu.cn
lixuejun@swust.edu.cn 顺序表的类定义 数据成员包括: 1.数组 2.数组的最 大元素个数 3.当前数组元素的个数。 操作: 初始化构造表 在表的某一 位置插入一个元素 在表的某一位置 删除一个元素 定位某个数据元素在 表中的存储位置 取表的某个存储 位置的数据元素 判表是否为空 计 算 机 学 院 信 息 教 研 室 DS
//SeqList,h 表和顺序表 DS #include <iostream. hs public: Include <stdlib.h> Seq list(void)i//constructor 计 NSeqList(void) yt const int MaxListSize int ListSize (void)const 机=100 int ListEmpty ( void) const; int Find ( DataType& item) const; 院 class Seqlist 信 DataType GetData(int pos) const 息 private void Insert(const DataType& 教 DataType item int pos); fif data[MaxListSize]: Data Type Delete(const int pos); 室 int sizer void ClearList(void); lixuejun@swust.edu.cn
lixuejun@swust.edu.cn 表和顺序表 #include <iostream.h> #include <stdlib.h> const int MaxListSize = 100; class SeqList { private: DataType data[MaxListSize]; int size; public: SeqList(void); // constructor ~SeqList (void); int ListSize(void) const; int ListEmpty(void) const; int Find (DataType& item) const; DataType GetData(int pos) const; void Insert(const DataType& item,int pos); DataType Delete(const int pos); void ClearList(void); }; 计 算 机 学 院 信 息 教 研 室 DS //SeqList.h
Seqlist. cpp表和顺序表 DS #include "seqlist. h ∥构造函数。置顺序表的数据元素个素为0 it SeqList: SeqList(void ): size(0) 算 机/|析构函数 Seqlist: N SeqList(void) 信/返回顺序表的元素个数se 息i int SeqList: ListSize( void) const 教 研 return size 室 lixuejun@swust.edu.cn
lixuejun@swust.edu.cn 表和顺序表 #include "seqlist.h" //构造函数。置顺序表的数据元素个素为0 SeqList::SeqList (void): size(0){} //析构函数。 SeqList::~SeqList (void){} //返回顺序表的元素个数size int SeqList::ListSize(void) const { return size; } 计 算 机 学 院 信 息 教 研 室 DS Seqlist.cpp
表和顺序表 DS 算 判顺序表空否,为空返回1,不空返回0 FL int SeqList: ListEmpty(void)const if (size==0) return 1 自 else return 0: 教 研 室 lixuejun@swust.edu.cn
lixuejun@swust.edu.cn 表和顺序表 //判顺序表空否,为空返回1,不空返回0 int SeqList::ListEmpty(void) const { if (size == 0) return 1; else return 0; } 计 算 机 学 院 信 息 教 研 室 DS