该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
using namespace std;
const int MaxSize=10;
template
class LinkList
{
public:
LinkList();
LinkList(DataType a[],int n);
~LinkList();
int Length();
DataType Get(int i);
int Locate(DataType x);
void Insert(int i,DataType x);
DataType Delete(int i);
void PrintList();
private:
LinkList*first;
DataType data[MaxSize];
};
template
LinkList*p;
template
LinkList::LinkList(DataType a[],int n)
{
first=new LinkList;
first->next=NULL;
for(int i=0;i
{
s=new LinkList;
s->data[i];
s->next=first->next;
first->next=s;
}
}
template
void LinkList::PrintList()
{
p=first->next;
while(p!=NULL)
{
cout<data;
p=p->next;
} }
template
int LinkList::Length()
{
p=first->next;
int count=0;
while(p!NULL)
{
p=p->next;
count++;
} return count;
}
template
LinkList::Get(int i)
{
p=p->next;
int count=1;
while(p!=NULL&&count
{
p=p->next;
count++;
}
if(p=+NULL) throw "查找不到该元素"
else
return p->data;
}
template
void LinkList::Insert(int i,DataType x)
{
p=first;
int count=0;
while(p!=NULL&count
{
p=p->next;
count++;
}
if(p==NULL) throw"出错";
else
{
s=new LinkList;
s->datd=x;
s->next=p->next;
p->next=s;
}
}
template
LinkList::LinkList()
{
first=new LinkList;
first->next=NULL;
}
template
DataType LinkList::Delete(int i)
{
LinkList*q;
int x;
p=first;
int count=0;
while(p!=NULL&&count
{
p=p->next;
count++;
}
if(p==NULL||p->next==NULL)
{
throw"error";
}
else
{
q=p->next;
x=q->data;
q->next=p->next;
delete q;
return x;
} }
template
LinkList::~LinkList()
{
LinkList*q;
while(first!=NULL)
{
q=first;
first=first->next;
delete q;
}
}
int main()
{
LinkList*iptr;
int a[10];
cout<
{
cin>>a[i];
}
int size;
size=sizeof(a)/sizeof(int); iptr.LinkList(a,size);
int j;
cout<
cin>>j;
cout<Get(j)<
int d;
cout<
cin>>d;
cout<Delete(d)<
int k;
int e;
cout<
cin>>k>>e;
iptr.Insert(k,e);
cout<
p.~LinkList();
cout<
p.PrintList();
return 0;
}
自己慢慢看