双链表算法之遍历

Posted ywx123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双链表算法之遍历相关的知识,希望对你有一定的参考价值。

(七)双链表算法之遍历

双链表正向遍历双链表逆向遍历

双链表正向遍历

??正向遍历和单链表相同,详情见单链表。

 1/*
2 *pH : 头节点
3 *return 返回尾部节点地址
4 */

5struct node * list_for_each(struct *pH)
6
{
7    struct node *p = pH;
8    if(NULL == p)
9        return NULL;
10    while(NULL != p ->pNext)
11    {
12        p = p ->pNext;
13        printf("dtat = %d. ",p->data);
14    }
15    return p;
16}

双链表逆向遍历

 1void list_for_reverse(struct node *pTail)
2
{
3    struct node *p = pTail;        //尾部节点
4    while(NULL != p -> pPrev)
5    {
6        printf("data = %d. ", p->data); //先打印,逆向遍历,第一个节点就是有效节点   
7        p = p ->pPrev;
8    }
9
10}


























以上是关于双链表算法之遍历的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点# 数据结构与算法之双链表

数据结构与算法之双链表

数据结构与算法—一文多图搞懂双链表

数据结构与算法之PHP实现链表类(单链表/双链表/循环链表)

算法总结之 在单链表和双链表中删除倒数第k个节点

#yyds干货盘点# 数据结构与算法之单链表