数据结构C++——顺序表实现及测试

本文详细探讨了如何使用C++实现数据结构中的顺序表,并提供了相应的测试案例,展示了操作顺序表的基本功能。
摘要由CSDN通过智能技术生成

顺序表 :

#include<iostream>
using namespace std;
const int defaultSize = 100;
template <class T>
class SeqList  {
private:
	T* data;         //存放数组
	int maxSize;     //最大可容纳表项的项数
	int last;        //当前已存在表项的最后位置(从0开始)
	void reSize(int newSize);     //改变data数组空间大小
public:
	SeqList(int sz = defaultSize);      //构造函数
	SeqList(SeqList<T>& L);		//复制构造函数
	~SeqList() { delete[]data; }		//析构函数
	int Size()const { return maxSize; }		//计算表最大可容纳表项的个数
	int Length()const { return last + 1; }		//计算表长
	int Search(T& x)const;		//搜索x在表中的位置,函数返回表项序号
	int Locate(int i)const;		//定位第i个表项,函数返回表项序号
	bool getData(int i, T& x)const {
		if (i > 0 && i <= last + 1) { x = data[i - 1]; return true; }   //取第i个表项的值
		else return false;
	}
	void setData(int i, T& x) {
		if (i > 0 && i <= last + 1)  data[i - 1] = x;		//用x修改第i个表项的值
	}
	bool Insert(int i, T& X);		//插入x在第i个表项后
	bool Remove(int i, T& x);		//删除第i个表项,通过x返回表项的的值
	bool IsEmpty()const { return last == -1 ? true : false; }		//判表空
	bool IsFull()const { return (last+1==maxSize) ? true : false; }		//判表满
	void input();		//输入
	void output();		//输出
	void Sort();		//排序(从小到大)
	SeqList<T>& operator=(SeqList<T>& L);		//表整体赋值
	friend ostream& operator<< <>(ostream& os, SeqList<T>& L);   //重载&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值