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

📄 seqlisttpl.cpp

📁 纯粹是学习专用~
💻 CPP
字号:
#include "SeqListTpl.h"
template <typename T,int size> int seqlist<T,size>::Find(T & x)const
{
	int i=0;
	while(i<=last && slist[i]!=x)		//顺序查找是否有x 
		i++;
	if (i>last) return -1;				//未找到,返回-1
	else return i;						//找到,返回下标
}

template <typename T,int size> bool seqlist<T,size>::IsIn(T & x)
{
	int i=0;
	bool found=0;
	while(i<=last && !found)				//换了一种方法来查找
		if (slist[i]!=x) i++;
		else found=1;							//找到
	return found;
}

template <typename T,int size> bool seqlist<T,size>::Insert(T & x, int i)
{
	if (i<0||i>last+1||last==Maxsize -1) return false;//插入位置不合理,不能插入(健壮性)
	else{
		last++;
		for(int j=last;j>i;j--) slist[j]=slist[j-1];//从表最后位置向前依次后移,空出指定位置来
		slist[i]=x;
		return true;
	}
}

template <typename T,int size> bool seqlist<T,size>::Remove(T & x)
{
	int i=Find(x);//先去找x在哪个位置
	if(i>=0){
		last--;
		for(int j=i;j<=last;j++) slist[j]=slist[j+1];//依次前移,保证表连续
		return true;
	}
	return false;//表中不存在x
}

template <typename T,int size> int seqlist<T,size>::Next(T & x)
{
	int i=Find(x);
	if(i>=0 && i<last) return i+1;//x后继位置
	else return -1;//x不在表中,或在表末尾
}

template <typename T,int size> int seqlist<T,size>::Prior(T & x)
{
	int i=Find(x);
	if(i>0 && i<=last)  return i-1;//x前驱的位置
	else return -1;
}
template <typename T,int size> void seqlist<T,size>::ShowSeqlist()
{
	int i=0;
	while(i<=last )		//顺序查找是否有x 
		slist[i].Show();
	if (i>last) return -1;				//未找到,返回-1
	else return i;						//找到,返回下标
		
}

⌨️ 快捷键说明

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