📄 lyg.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 + -