#include<iostream>
typedef int DataType;
typedef int Status;
typedef struct Node
{
DataType data;
struct Node *Next;
}Node,*LinkList;
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
using namespace std;
class LList
{
LinkList L;
public:
LList()//构造一个空链表;
{
L=(LinkList)new Node;
L->Next=NULL;
}
void Creat_List_H()//头插法
{
while(1)
{
Node *p;
bool b;
p=(Node *) new Node;
cout<<"请输入Data:"<<endl;
cin>>p->data;
p->Next=L->Next;
L->Next=p;
cout<<"Success"<<endl;
cout<<"是否继续插入: "<<endl;
cout<<"是 1"<<endl;
cout<<"否 0"<<endl;
cin>>b;
if(!b)
{
break;
}
}
}
void Creat_List_T()//尾插法
{
Node *tail;
tail=(Node *)L;
while(1)
{
bool b;
Node *p;
p=(Node *) new Node;
cout<<"请输入Data:"<<endl;
cin>>p->data;
tail->Next=p;
tail=p;
p->Next=NULL;
cout<<"Success"<<endl;
cout<<"是否继续插入: "<<endl;
cout<<"是 1"<<endl;
cout<<"否 0"<<endl;
cin>>b;
if(!b)
{
break;
}
}
}
Node *GetNode()//按位置查找元素的地址
{
int pos;
Node *p;
cout<<"请输入查找位置:"<<endl;
cin>>pos;
p=L->Next;
pos--;
while(p&&pos)
{
p=p->Next;
pos--;
}
if(!p)
{
cout<<"位置非法"<<endl;
}
return p;
}
Node *Locate(DataType e)//按值查找
{
Node *p;
p=(Node*)L->Next;
while(p&&p->data!=e)
{
p=p->Next;
}
if(!p)
{
cout<<"输入非法"<<endl;
}
else
return p;
}
void InsList()
{
int pos;
Node *p,*q;
cout<<"请输入插入位置:"<<endl;
cin>>pos;
pos--;
if(pos==0)
{
p=L;
}else{
p=L->Next;
pos--;
while(p&&pos)
{
p=p->Next;
pos--;
}
}
if(!p)
{
cout<<"位置非法"<<endl;
return;
}
else
{
q=(Node *)new Node;
cout<<"请输入DATA:"<<endl;
cin>>q->data;
q->Next=p->Next;
p->Next=q;
cout<<"sucess"<<endl;
}
}
void DelList()
{
int pos;
Node *p,*q;
cout<<"请输入删除位置:"<<endl;
cin>>pos;
pos--;
if(pos==0)
{
p=L;
}else{
p=L->Next;
pos--;
while(p&&pos)
{
p=p->Next;
pos--;
}
}
if(!p)
{
cout<<"位置非法"<<endl;
return;
}
else
{
q=p->Next;
p->Next=q->Next;
delete(q);
cout<<"sucess"<<endl;
}
}
void Display()
{
for(Node *p=L->Next; p!=NULL; p=p->Next)
{
cout<<p->data<<endl;
}
cout<<"+++++++++++++++++++++++++++++"<<endl; //分割输出;
}
~LList()
{
Node *p,*q;
p=(Node *)L->Next;
while(p)
{
q=p;
delete(q);
p=p->Next;
}
delete(L);
cout<<"此表已被销毁"<<endl;
}
};
int main()
{
return 0;
}