• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > C++开发 > 简单图书链表的实现(三)删除图书

    简单图书链表的实现(三)删除图书

    作者: 分类:C++开发 点击: 1,965 次
    wordpress CMS主题:ssmay主题

      前面我们完整地实现了图书的创建,在我们创建图书后,可能会发现某些图书不想要了,就想把它删除。

      那么,在图书链表中怎样删除指定的图书呢?

      本节,我们就通过一个简单的函数来实现这个目的。

      首先,我们定义一个删除函数del() ,代码如下:

       

       

      void del(book*head,int number) //number是用户输入的编号{

      book*first;  //声明一个临时指针

      if(number==head->num)   //当用户输入的编号是头结点编号时,删除第1个编号

      {

      first=head; //通过临时指针交换数据

      head=head->next; //head指向下一个结点

      ::head=head;   //head被指明为头结点

      delete first;  //

      }

      while(head) //当head不为空时循环执行下面语句,直到head为空时结束循环

      {

      if(head->next==NULL) //当head->next为空时,即没有下一个结点时,执行大括号中的语句

      {

      cout<<"没有找到你要删除的编号,以0结束";

      return;

      }

      if(head->next->num==number) //当用户输入的编号是下一个结点时,执行下面语句

      {

      first=head->next;  //first指向下一个结点,即准备要删除的结点

      head->next=first->next; //上一个结点的next直接指向“下一个结点的下一个结点”,跳过下一个结点

      delete first; //删除下一个结点;

      return;

      }

      head=head->next; //head的值不断变换,指向下一个结点;

      }

      cout<<"找不到要删除的编号。"<<endl; //head为空时返回这个值;

      }

      然后,在main()函数中调用该函数,如下:

      int main(){

      int number=0;  //声明一个变量

      create();   //调用创建函数

      cout<<"请输入要删除的图书编号:";

      cin>>number;

      del(head,number);  //调用删除函数

      bookshow(head);   //调用显示函数

      return 0;

      }

       

       

    文章作者:高时银博客
    本文地址:http://wanlimm.com/7720140119924.html
    本文时间:2014-01-19 09:10:57
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.