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

📄 lyg.cpp

📁 顺序表的应用
💻 CPP
字号:
// lyg.cpp : Defines the entry point for the console application.
//
#include "iostream"
#include "stdafx.h"
using namespace std;
template <class T>
class sq_LList
{
	private:
		int mm;
		int nn;
		T *v;
	public:
		sq_LList()
		{
			mm=0;
			nn=0;
			return;
		}
		sq_LList(int);
		void prt_sq_LList();
		int flag_sq_LList();
		void ins_sq_LList(int ,T);
		void del_sq_LList(int);
};
//建立空顺序表
template <class T>
sq_LList<T>::sq_LList(int m)
{
	mm=m;						//存储空间容量
	v=new T[m];					//动态申请存储空间
	nn=0;						//顺序表长度为0,即建立空顺序表
	return;
}
//顺序输出顺序表中的元素与顺序表长度
template <class T>
void sq_LList<T>::prt_sq_LList()
{
	int i;
	cout<<"nn="<<nn<<endl;
	for(i=0;i<nn;i++)
		cout<<v[i]<<endl;
	return;
}
//检测顺序表的状态
template <class T>
int sq_LList<T>::flag_sq_LList()
{
	if(nn==mm) return(-1);
	if(nn==0)  return(0);
	return(1);
}
//在表的指定元素前插入新元素
template <class T>
void sq_LList<T>::ins_sq_LList(int i,T b)
{
	int k;
	if(nn==mm)
	{
		cout<<"overflow"<<endl;
		return;
	}
	if(i>nn) i=nn+1;
	if(i<1) i=1;
	for(k=nn;k>=i;k--)
		v[k]=v[k-1];
	v[k-1]=b;
	nn+=1;
	return;
}
//在顺序表中删除指定元素
template <class T>
void sq_LList<T>::del_sq_LList(int i)
{
	int k;
	if(nn==0)
	{cout<<"underflow"<<endl;
	return;
	}
	if((i<1)||(i>nn))
	{cout<<"Not this element in the list!"<<endl;
	return;
	}
	for(k=i;k<nn;k++)
		v[k-1]=v[k];
	nn-=1;
	return;
}



int main()
{ 
	sq_LList<int> s1(100);
 	cout<<"第一次输出顺序表对象s1:"<<endl;
	s1.prt_sq_LList();
	s1.ins_sq_LList(0,10);
	s1.ins_sq_LList(1,20);
	s1.ins_sq_LList(4,35);
	cout<<"第二次输出顺序表对象s1:"<<endl;
	s1.prt_sq_LList();
	s1.del_sq_LList(0);
	s1.del_sq_LList(2);
	cout<<"第三次输出顺序表对象s1:"<<endl;
	s1.prt_sq_LList();
	return 0;
}

⌨️ 快捷键说明

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