当前位置:网站首页>单向链表实现--计数

单向链表实现--计数

2022-06-23 11:03:00 jinxueHou专栏

 单向链表和计量统计函数实现:

int16_t SingLinkList_Traverse(BOOKLT *bookHeadNode)
{
    int16_t  num = 0;//统计图书数量
    BOOKLT * p = NULL; //创建一个BOOKLT结构类型的指针
    p = bookHeadNode->next; //p指向头结点的next
    if(NULL == p->next)//只有头结点
    {
       return -1;
    }
    while(p)//p->next不为空,继续遍历
    {
       printf("%s,%s,%d\r\n",p->bookInfo.ISBN,p->bookInfo.bookName,p->bookInfo.price);//输出每个结点的数据域内容
       p = p->next;//指向下一个结点
       num++; //遍历一个结点,数量加1
    }
    return num;
}

 main.c函数实现如下:

int main()
{
     int16_t num = 0;

     BOOKLT *myBookHeadNode;//定义一个BOOKLT类型的头结点指针

     myBookHeadNode  = SingLinkList_Create();//上面的链表内存已经被释,重新放创建一个头结点
     SingLinkList_TailInsert_method2(myBookHeadNode,sizeof(bookStock)/sizeof(BOOKINFO),bookStock);//后插法插入节点

     SingLinkList_SelectSort(myBookHeadNode);//选择排序调用
     num = SingLinkList_Traverse(myBookHeadNode);//遍历单向链表和统计图书数量
     printf("\r\n图书数量为:%d\r\n",num);

     SingLinkList_Destory(myBookHeadNode);//释放各个结点的内存和头结点的内存
     
     return 0;
}

图书信息和图书计量如下: 

 至此,单向链表统计图书数量功能已实现。

2022.06.19结。

原网站

版权声明
本文为[jinxueHou专栏]所创,转载请带上原文链接,感谢
https://jinxuehou.blog.csdn.net/article/details/125363990