当前位置:文档之家› 数据结构单链表输入输出(c++)

数据结构单链表输入输出(c++)

if(i==-1)
return head;
link<T> *p=new link<T>(head->next);
while( p!=NULL && count<i)
{
p=p->next;
count++;
}
return p;
}
template<class T>
bool inklist<T>::insert(const int i,const T value)
bool insert(const int p,const T value);
bool remove(const int p);
void print();
};
template<class T>
inklist<T>::inklist()
{
head=tail=new link<T>(NULL);
}
template<class T>
inklist<T>::~inklist()
{
link<T> *tmp;
while(head!=NULL)
{
tmp=head;
head=head->next;
delete tmp;
}
}
template<class T>
link<T> *inklist<T>::setpos(int i)
{
int count=0;
{
cout<<p->date<<" ";
p=p->next;
}
cout << endl;
}
void main()
{
inklist<int> b;
int i,a[10];
for(i=0;i<5;i++)
{
cin>>a[i];
b.append(a[i]);
}
b.print();
}
bool inklist<T>::remove(const int i)
{
link<T> *p,*q;
if((p=setpos(i-1))==NULL||p==tail)
{
cout<<"非法删除点";
return false;
}
q=p->next;
if(q==tail)
{
tail=p;
p->next=NULL;
{
link<T> *p,*q;
if((p=setpos(i-1))==NULL){
cout<<"非法插入点"<<endl;
return false;}
q=new link<T>(valt=q;
if(p==tail)
tail=q;
return true;}
template<class T>
return true;}
else{
tail->next=new link<T>(value,NULL);
tail=tail->next;
return true;
}
}
template<class T>
void inklist<T>::print()
{
link<T>*p;
p=head->next;
while(p!=NULL)
delete q;
}
else
{
p->next=q->next;
delete q;
}
return true;
}
template<class T>
bool inklist<T>::append(const T value)
{
if(tail==NULL){
head->next=tail=new link<T>(value,NULL);
#include<iostream.h>
template<class T>
class link
{
public:
T date;
link<T> *next;
link(const T info, link<T> *nextvalue=NULL)
{
date=info;
next=nextvalue;
}
link(link<T> *nextvalue)
{
next=nextvalue;
}
};
template<class T>class inklist{
private:
link<T> *head,*tail;
link<T> *setpos(const int p);
public:
inklist();
~inklist();
bool append(const T value);
相关主题