数据结构单向链表——找到并输出倒数第k个结点的数据

/**********************************************************************************************
* func name : LList_Last_k_find
* function : Find the last k node of link list and print data
* func parameter :
* @Head :address of the head node
* return resuolt : Find success result (true or failse)
* author : liaojx2016@126.com
* date : 2024/04/21
* note : None
* modify history : None
* function section: v1.0
*
**********************************************************************************************/
bool LList_Last_k_Del(LList_t *Head, int k)
{
//错误判断
if (NULL == Head->next)
{
return false;
}
LList_t *p = Head;//参考指针
LList_t *kp = Head;//指向倒数第k个结点的目标指针
//参考指针先移动k个结点
for (int i = 0; i < k; i++)
{
//printf("p.data=%d,p.next=%#x\n", p->data, p->next);
//当还没移动k个单位,参考结点已指向尾指针,说明没有倒数第k个结点,直接退出函数,并输出提示
if (p->next == NULL)
{
printf("Link list note count is less than %d\n", k);
return false;
}
p = p->next;
}
//目标结点再移动一个单位
kp = kp->next;
//此时参考节点与目标结点已经相差k个单位
//循环使得参考指针和目标指针同事移动一个单位,直到参考指针到达尾节点,目标指针到达倒数第k个结点的指定位置
while (p->next)
{
p = p->next;
kp = kp->next;
}
//输出目标结点的数据域
printf ("data of the last %d node is %d\n",k,kp->data);
return true;
}
数据结构单向链表——找到并输出倒数第k个结点的数据的更多相关文章
- 数据结构和算法之单向链表二:获取倒数第K个节点
我们在做算法的时候或多或少都会遇到这样的问题,那就是我们需要获取某一个数据集的倒数或者正数第几个数据.那么今天我们来看一下这个问题,怎么去获取倒数第K个节点.我们拿到这个问题的时候自然而然会想到我们让 ...
- 单链表输出倒数第k个结点值(栈实现)
思路1:定义两个指针变量p和q,初始时均指向头节点的下一个节点(链表的第一个节点),p指针沿链表移动: 当p指针移动到第k个节点时,q指针开始与p指针同步移动, 当p指针移动到最后一个节点时,q指针所 ...
- 【剑指Offer面试题】 九度OJ1517:链表中倒数第k个结点
鲁棒性是指程序可以推断输入是否符合规范要求,并对不和要求的输入予以 合理的处理. 题目链接地址: http://ac.jobdu.com/problem.php?pid=1517 题目1517:链表中 ...
- 剑指Offer - 九度1517 - 链表中倒数第k个结点
剑指Offer - 九度1517 - 链表中倒数第k个结点2013-11-30 02:57 题目描述: 输入一个链表,输出该链表中倒数第k个结点.(hint: 请务必使用链表.) 输入: 输入可能包含 ...
- 6.查找单链表中的倒数第k个结点
普通思路:先将整个链表从头到尾遍历一次,计算出链表的长度size,得到链表的长度之后,就好办了,直接输出第(size-k)个节点就可以了(注意链表为空,k 为0,k为1,k大于链表中节点个数时的情况) ...
- [华为]输出单向链表中倒数第k个结点
输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针. 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_ ...
- 【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点
第 13 题(链表):题目:输入一个单向链表,输出该链表中倒数第 k 个结点.链表的倒数第 0 个结点为链表的尾指针.链表结点定义如下: struct ListNode {int m_nKey;Lis ...
- 输出单向链表中倒数第k个结点
描述 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针. 链表结点定义如下: struct ListNode { int m_nKey; ListNode* ...
- 输入一个单向链表,输出该链表中倒数第K个结点
输入一个单向链表,输出该链表中倒数第K个结点,具体实现如下: #include <iostream> using namespace std; struct LinkNode { publ ...
- [PHP] 数据结构-输出链表倒数第k个结点PHP实现
输入一个链表,输出该链表中倒数第k个结点.第一个指针走(k-1)步,到达第k个节点,两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了 <?php clas ...
随机推荐
- 前端问题整理 Vite+Vue3+Ts 创建项目及配置 持续更新
前端问题整理 持续更新 目录 前端问题整理 持续更新 前端 Vue 篇 @项目配置 1.node 版本过高问题 安装nvm 管理node版本 2.镜像证书无效问题 3.npm 版本问题 4.npm i ...
- SQL 中的运算符与别名:使用示例和语法详解
SQL中的IN运算符 IN运算符允许您在WHERE子句中指定多个值,它是多个OR条件的简写. 示例:获取您自己的SQL Server 返回所有来自'Germany'.'France'或'UK'的客户: ...
- 【C#上位机】西门子1200PLC实用定位控制程序案例
1. 引言 新阁教育这篇文章是一篇综合性非常强的文章,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusTCP通信协议及上位机编程实现最终控制,涉及知识面比较广,能够 ...
- Spring Boot 项目五维度九层次分层架构实现实践研究——持续更新中
var code = "12433d02-b242-4fd2-937d-750761a365ea" 说明:本博文有参考一些技术博主的思路,据实践内容及代码持续总结更新中. 五个分层 ...
- Pytorch风格迁移代码
最近研究了一下风格迁移,主要是想应用于某些主题节日时动态融合背景,生成一些抽象的艺术图片,这里给大家分享一个现成的代码,我本地把环境搭建好后跑了试试,有兴趣的可以直接拿去运行: 1 import to ...
- lin-view-ui Vue 2.0 组件库
lin-view-ui 是一款基于 Vue.js 2.0 的前端 UI 组件库,主要集成了平时在开发中使用到的 UI 组件. 特性 基于 Vue 开发的 UI 组件 使用 npm + webpack ...
- 如何在ubuntu上安装QQ音乐
最简单易懂的安装QQ音乐教程,亲测可用!教程如下: 点击下方网址,进入QQ音乐下载页网址: https://y.qq.com/download/download.html 页面 点击Linux下方的下 ...
- Ubuntu22.04版本安装对应版本ROS教程 (小白2024年)
参考资料:(我是开了加速器,毕竟中间使用了github访问网址,国内免费加速器Steam++,开个github网站加速即可,不开我不知道行不行可以自己一试) ubuntu22.04安装ROS2 详细教 ...
- 搭建Hadoop环境
搭建Hadoop环境 一.虚拟机的安装 二. 安装JDK 1.下载jdk wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41- ...
- 国庆集训 Day1 复盘笔记
9.25 \({\color{Green} \mathrm{A\ -\ Powered\ Addition}}\) 只要把序列扫一遍,然后求出目前最大值与当前值的差的最大值 \(x\),再 \(log ...