⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3。1。2线性表.cpp

📁 线性表 队列的算法 题目:假设以带头结点的循环链表表示队列
💻 CPP
字号:
#include<iostream.h>
#include<3.1.2.h>
template<class T>
LinearList<T>::LinearList(int sz)
{
	//按sz的大小申请一个表空间,生成一个空表,即表的初始化
	if(sz>0)
	{
		MaxSize=sz;
		Last=0;
		//创建表空间
		data=new T[MaxSize];
	}
}
template<class T>
LinearList<T>::~LinearList(void)
{
	//清除表,释放表空间,即撤消一个表
	delete []data;
}
template<class T>
bool LinearList<T>::ListEmpty(void)
{
	//判断表是否为空。空则返回TRUE;否则返回FALSE
	return(Last<=0)?TRUE:FALSE;
}
template<class T>
bool LinearList<T>::ListFull(void)
{
	//判断表是否已满。满则返回TRUE;否则返回FALSE
    return(Last>=Maxsize)?TRUE:FALSE;
}
template<class T>
int LinearList<T>::ListLength(void)const
{
	//求表中结点个数,即求表长
	return Last;
}
template<class T>
T LinearList<T>::GetElem(int i)
{
	//求表中的第i个结点的值
	//若第i个结点存在,则返回该结点的值;否则返回NULL
	return(i<0||i>=Last)?NULL:data[i];
}
template<class T>
int  LinearList<T>::LocateElem(T&x)const
{
	//查找表中值为x的结点。若查找成功,则返回该结点的序号;否则返回-1
	//若表中值为x的结点有多个,找到的是最前面的一个
	for(int i=0;i<LAST;i++)
		if(data[i]==x) return i;
		return -1;
}
template<class T>
bool LinearList<T>::InsertElem(T&x,int i)
{
	//在表中第i个位置插入值为x的结点
	//若插入成功,则返回TRUE;否则返回FALSE
	//插入位置不合理,插入失败
	if(i<0||i>Last||Last==MaxSize)
		return FALSE;
	else
	{
		//表长增1
		Last++;
		//后移
		for(int j=Last-1;j>1;j--)data[j]=data[j-1];
		//插入
		data[i]=x;
		return TRUE;
	}
}
template<class T>
bool LinearList<T>::DeleteElem(int i)
{
	//删除表中第i个结点。若删除成功,则返回TRUE;否则FALSE
	//第i个结点不存在,删除失败
	if(i<0||i>=Last||Last==0)
		return FALSE;
	else 
	{
		//表长减1
		Last--;
		//前移
		for(int j=i;j<Last-1;j++)data[j]=data[j+1];
		return TURE;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -