天勤数据结构-代码题2
已知一个带有表头节点的单链表,节点结构为:{data,next},假设该链表只给出了头指针head,在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点.查找成功返回该结点的data值,并返回0;失败返回0.
#include <stdio.h>
#include <stdlib.h>
typedef struct LNode{int data;struct LNode *next;
}LNode;//头插创建单链表
void createLinkListH(LNode *&head){head=(LNode*)malloc(sizeof(LNode));head->next=NULL;int a[5]={5,4,3,2,1};for(int i=0;i<5;i++){LNode *p=(LNode*)malloc(sizeof(LNode));p->next=NULL;p->data=a[i];p->next=head->next;head->next=p;}
}
//方法一
int findreverseNUmber(LNode *&head,int k){//空链if(head->next==NULL) return 0;LNode *p=head->next;//记录链表长度int i=0;while(p!=NULL){i++; p=p->next;}//检测非法操作 if(k<0||k>i){return 0;} LNode *s=head->next;for(int j=0;j<i;++j){//*key* if(j==i-k)printf("%d\n",s->data);s=s->next;}return 1;
}//方法二
int findElem(LNode *head,int k){printf("\n倒数第%d为:",k);LNode *p1,*p;p1=head->next;p=head;int i=1;while(p1!=NULL){p1=p1->next;++i;if(i>k)p=p->next;}if(p==head)return 0;else{printf("%d",p->data);return 1; }
} void showAll(LNode *head){printf("遍历所有链表\n");LNode *p=head->next;while(p!=NULL){printf("%d",p->data);p=p->next;}printf("\n");
}int main(){LNode *head;createLinkListH(head); showAll(head);//findreverseNUmber(head,1);int k;scanf("%d",&k);findElem(head,k); return 0;
}
天勤数据结构-代码题2相关推荐
- 计算机数据结构代码题----Day02
计算机数据结构代码题----Day02 顺序表代码题 题目01 从顺序表中删除其数值在给定数值为s与t之间,包含(s和t),要求(s<t)的所有元素,如果s或t的顺序不合理或者顺序表为空,则显示 ...
- 【23考研】计算机408数据结构代码题强化阶段划重点(王道书)
视频链接:[23考研]10分钟带你整理408数据结构强化阶段代码题复习重点 本篇只适合考408的同学,请自主命题的同学自觉右上角×掉 因为王道书为了照顾自主命题的同学,所以很多算法也给出了代码实现,实 ...
- 23王道数据结构代码题全解(二)
计划更新23王道数据结构所有课后代码习题的实现,虽然考试写的一般都是伪代码,但是强迫症的我还是全部实现了一遍,仓库在这里 代码全部是用 C++ 写的,都可以编译运行,包含暴力解和最优解. 持续更新,目 ...
- 23王道数据结构代码题全解(一)
计划更新23王道数据结构所有课后代码习题的实现,虽然考试写的一般都是伪代码,但是强迫症的我还是全部实现了一遍,仓库在这里 代码全部是用 C++ 写的,都可以编译运行,包含暴力解和最优解. 持续更新,目 ...
- 23王道数据结构代码题全解(三)
计划更新23王道数据结构所有课后代码习题的实现,虽然考试写的一般都是伪代码,但是强迫症的我还是全部实现了一遍,仓库在这里 代码全部是用 C++ 写的,都可以编译运行,包含暴力解和最优解. 持续更新,目 ...
- 大师兄手把手教你写考研数据结构代码题(50天代码整理合集)
#include <stdio.h>#include <stdlib.h>//Day01 //在带头结点的单链表L中,删除所有值为x的结点,并释放其空间,假设值为x的结点不唯一 ...
- 天勤数据结构代码——栈基本操作
顺序栈 typedef struct SqStack {int data[maxSize]; //存放栈元素,数组大小,要开足够大(一般题目给)不给就开足够大,写注释.int top; //栈顶下标( ...
- 天勤数据结构代码——链表基本操作
结构定义 typedef struct LNode {int data; // 数据域(可以是其他类型)struct LNode *next;//指针域 (此处代表指向后驱节点) }; A和B是两个单 ...
- 数据结构代码题--头插法和尾插法的应用
头插法建立单链表(一般用于链表的逆置)头插防断链 就是说用头插法时要给 p指针一个后继结点 // 单链表的定义 typedef struct LNode{ElemType data;struct LN ...
最新文章
- Node.js实践第一天
- #翻译NO.4# --- Spring Integration Framework
- 详解centos7 YCM YouCompleteMe自动补全安装,亲测成功
- windows环境下注册安装GitHub Desktop使用方法详解
- python选择日期控件_Python3 自己写了个DateCtrl日期控件 | 学步园
- RabbitMQ消息队列:发布/订阅(Publish/Subscribe)
- 苹果 iPhone/iPad 第三方键盘为何没语音听写功能?真相了
- 计算机网络—物理层(思维导图)
- [转载]如何学习ANSYS?
- URLDecoder.decode 过时
- 机器学习 - 贝叶斯网络
- element-ui的分页,添加首页、尾页,跳转按钮
- 链家二手房成交数据分析(采用pytorch环境)
- nc63文件服务器,nc命令传输文件
- php前后端分离登录,前后端分离下如何登录
- 语义分割指标---MIoU详细介绍(原理及代码)
- 130个超实用的网站
- 【资源】年底送你一套编程视频(含源码)
- html如何做斑马表格
- 网易云信(验证码短信接口接入)
热门文章
- 第五届“泰迪杯“技能赛赛题讲解直播来啦
- 玩转华为ENSP模拟器系列 | 配置设备用SNMPv3 USM用户与网管通信示例
- edge浏览器被百度占用了如何解决?
- 你的WordPress网站经常被刷恶意搜索词?这有解决办法
- 车流量统计 matlab,基于视频的车流量统计——matlab代码
- 基于Weka的典型数据挖掘应用
- 51汇编——LCD1602显示
- Python自动化办公:将文本文档内容批量分类导入Excel表格
- Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request p
- 企业通讯录让沟通协作效率更高