wordpress CMS主题 微信
Home > C++开发 > 简单图书链表的实现(三)删除图书

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

高时银博客 C++开发 点击: 1,330 次 0 0
  • 标签:
  • 前面我们完整地实现了图书的创建,在我们创建图书后,可能会发现某些图书不想要了,就想把它删除。

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

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

    首先,我们定义一个删除函数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
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    目前还没有评论。赶快来坐沙发吧。

    发表评论