码迷,mamicode.com
首页 > 其他好文 > 详细

单链表学习(二)

时间:2019-08-14 16:37:34      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:结构体   png   不同   实现   mic   inf   学习   idt   find   

在链表学习(一)里面分享了链表头节点和数据节点的创建。今天分享一下有关链表节点的访问。技术图片

如上图所示,我采用的是在头节点后面创建数据节点的方法,我们要访问a1这个数据节点的时候,我们需要得到它的地址才能访问,而a1节点的地址在a2节点的指针里面,所以要访问a1数据节点需要访问到a2数据节点,依次类推,访问a2数据节点,我们又需要a2数据节点的地址,因此我们需要访问a3数据节点,a3数据节点的地址又存放在头节点里面。所以,我们需要通过头节点开始,进行依次访问。

访问特点很明显,从头节点开始依次访问下去,直到最后一个数据节点里面的指针里面的内存地址为NULL为止。

 

代码如下:

void node_find(node *head)  //得到指向头节点的指针,实现访问头节点
{
    node *p;   //定义一个结构体指针P来实现每个数据节点的访问
    p = head->next;//将头节点里面存放的地址给p,让p指向第一个数据节点
    while (p != NULL)  //数据节点里面的指针为NULL就说明后面没有数据节点,停止循环
    {
        cout << p->a;  //输出p指向的数据节点的值
        p = p->next;  //访问完一个数据节点后继续访问下一个
    }
}

还有一种访问的算法

如下:

void node_find(node *head)
{
    node *p;
    p = head;  //让P指向头节点
    while (p->next != NULL)  //同样判断数据节点里面的指针是否为空
    {
        cout << p->next->a;//访问数据节点的数据
        p = p->next;//指向下一个数据节点
    }
}

第一种方法的p指针指向的数据节点,也就是你要访问的数据节点

第二种方法的p指针指向的数据节点,是你要访问的数据节点的前面一个节点,所以在代码上有不同,但是思路都是一样

 

后面会继续分享其他的基础算法。

单链表学习(二)

标签:结构体   png   不同   实现   mic   inf   学习   idt   find   

原文地址:https://www.cnblogs.com/hzb1224/p/11352696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!