关闭

特殊的日子,再写一编来纪念,以后一天争取一编

256人阅读 评论(0) 收藏 举报

#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;

  }
 }
 
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10663次
    • 积分:186
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条
    文章存档
    最新评论