#include <iostream>
#include <stdio.h>
using namespace std;
struct myTest
{
int a;
int b;
myTest *next;
};
myTest *headTest;
void AddNode(int a,int b)
{
myTest *tt = new myTest;
tt->a =a;
tt->b = b;
if (headTest == NULL)
{
headTest = tt;
tt->next =NULL;
}else
{
myTest *mm = headTest;
while (mm->next != NULL)
{
mm = mm->next;
}
mm->next = tt;
tt->next = NULL;
}
}
void PrintfNodes(int a,int b)
{
printf("a=%d b=%d/n",a,b);
}
void showNodes()
{
if (headTest == NULL) return;
myTest *p = headTest;
PrintfNodes(p->a,p->b);
while (p->next != NULL)
{
p = p->next;
PrintfNodes(p->a,p->b);
}
return;
}
void DeleteNodes(int a)
{
if (headTest == NULL) return;
if (headTest->next == NULL && headTest->a == a)
{
delete headTest;
return;
}
myTest *p = headTest;
myTest *r = headTest;
while (p!= NULL)
{
if (p->a == a)
{
if (p==headTest)
{
headTest = p->next;
delete p;
r= headTest;
p= headTest->next;
}else
{
myTest *tt = p->next;
delete p;
r->next= tt;
p= tt->next;
}
}else
{
myTest *tt = p->next;
r=p;
p = tt;
}
}
return;
}
void main()
{
int a =1;
cout<<"输入0 退出,1添加,2查看,3删除/n";
while (a>0)
{
cout<<"请输入操作标记 flag =";
cin>>a;
switch(a)
{
case 0:
exit(0);
break;
case 1:
{
int c,d;
cout<<"请输入a=";
cin>>c;
cout<<"请输入b=";
cin>>d;
AddNode(c,d);
break;
}
case 2:
showNodes();
break;
case 3:
{
cout<<"请输入a =";
int kz =0;
cin>>kz;
DeleteNodes(kz);
break;
}
default:
break;
}
}
}