#include<iostream>
#include<stdio.h>
using namespace std;
template<class T,int size=5>
class link
{
public:
T s[size];
int top;
link()
{
top=0;
}
void insert(T &n,int m);
void insert(T &n);
T del(int m);
};
template<class T,int size> void link<T,size>::insert(T &n,int m)
{
if(top<size)
{
if(m<top)
{
top++;
for(int i=top-1;i>m;i--)
{
s[i]=s[i-1];
}
s[m]=n;
}
}
else
cout<<"链表已经满了!/007/n";
}
template<class T,int size> void link<T,size>::insert(T &n)
{
if(top<size)
{
s[top]=n;
top++;
}
else
cout<<"链表已经满了!/007/n";
}
template<class T,int size> T link<T,size>::del(int m)
{
T x;
if(m<=top)
{
x=s[m-1];
for(int i=m-1;i<top-1;i++)
s[i]=s[i+1];
top--;
return x;
}
else
cout<<"输入错误!/007/n";
}
void main()
{
int i,n,m=1;
link<int> num;
cout<<"为链表输入值!!"<<endl;
cin>>n;
while(n)
{
num.insert(n);
cin>>n;
}
cout<<"输入完毕!"<<"/n"<<"请输入要插入的值和位置"<<endl;
cin>>n>>m;
while(m>=0)
{
num.insert(n,m);
cin>>n>>m;
}
cout<<"输入完毕!"<<"/n"<<"遍历链表"<<endl;
for(i=0;i<num.top;i++)
cout<<num.s[i]<<" ";
cout<<endl;
cout<<"输入你要删除的位置"<<endl;
cin>>m;
num.del(m);
for(i=0;i<num.top;i++)
cout<<num.s[i]<<" ";
}