408数据结构与算法—单链表的基本操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了408数据结构与算法—单链表的基本操作相关的知识,希望对你有一定的参考价值。
【408数据结构与算法】—单链表的基本操作(六)
一、单链表—取第i个元素值
算法的思路:分别取出第3个元素和第i个元素的内容。从链表的头指针出发,顺着链域next逐个结点往下搜索,直到搜索到第i个结点为止,因此,链表不是随机存取结构
算法的思路:
- 从第1个结点(L->next)顺链扫描,用指针p指向当前扫描到的结点,p初始值p=L->next
- j做计数器,累计当前扫描过的节点数,j的初始值为1
- 当p指向扫描到的下一结点时,计数器j加1
- 当j==i时,p所指的结点就是要找的第i个结点
二、单链表—按值查找
按值查找—根据指定数据获取该数据所在的位置(地址)例如:分别查找30和值为15的元素
算法步骤:
- 从第一个结点起,依次和e相比较
- 如果找到一个其值与e相等的数据元素,则返回其在链表中的位置或地址
- 如果查遍整个链表都没有找到其值和e相等的元素则返回0或null
算法描述
算法设计—根据指定数据获取该数据位置序号
三、单链表—插入
插入—在第i个结点前插入值为e的新结点
算法步骤:
- 首先找到ai-1的存储位置p
- 生成一个数据域为e的新结点s
- 插入新结点:新结点的指针域指向结点ai;结点ai-1的指针域指向新结点
以上是关于408数据结构与算法—单链表的基本操作的主要内容,如果未能解决你的问题,请参考以下文章