关于链表的倒数第k个结点的查找问题--考研题
来源:互联网 发布:1025实验室 知乎 编辑:程序博客网 时间:2024/06/05 19:51
加油,只要努力,就会有成果。
关于链表的一道题:
查找单链表的倒数第K个结点。
方法:设两个指针,一个指针先走k个结点,另一个指针从头开始走,当上一个指针走到末尾时,这个指针正好走到链表的倒数第k个结点。
实现代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node *next;
} ElemSN;
ElemSN *creatnode(int a[],int n)
{
ElemSN *h,*t,*p;
h=NULL;
int i;
for(i=0;i<n;i++)
{
p=(ElemSN *)malloc(sizeof(ElemSN));
p->data=a[i];
p->next=NULL;
if(!h)
h=t=p;
else
t=t->next=p;
}
return h;
}
int findlastkey(ElemSN *h,int k)
{
ElemSN *p,*q;
int i;
for(i=1,p=h;i<k;i++)
{
p=p->next;
}
for(q=h;p->next!=NULL;q=q->next,p=p->next);
return q->data;
}
int main(void)
{
ElemSN *h;
int a[6]={1,2,3,4,5,6},k;
h=creatnode(a,6);
printf("输入倒数第k个结点:");
scanf("%d",&k);
printf("%d",findlastkey(h,k));
}
阅读全文
0 0
- 关于链表的倒数第k个结点的查找问题--考研题
- 查找链表的倒数第K个结点
- 查找并输出单链表的倒数第k个结点
- 链表的倒数第K个结点--双指针
- 找出链表的倒数第K个结点
- 链表倒数的第K个结点
- 2009计算机考研题:查找链表中倒数第k个结点
- 求链表的倒数第K个结点
- 【融博笔试题】查找单链表倒数第k个结点的值
- 链表倒数第k个结点
- 查找链表的倒数第k个元素
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第 k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- ST表简介 (洛谷P3865、洛谷P2251)
- python 下运行redis
- OHEM算法论文理解
- 数组中超过一半的数字
- Android有条件的设置横屏或竖屏
- 关于链表的倒数第k个结点的查找问题--考研题
- 2. 变量和基本类型
- Spark代码Eclipse远程调试
- ubuntu boot 空间不足
- 关于QT5使用wamp的mysql连接问题
- c语言入门:c++运算符重载
- jquery ajax error函数和及其参数详细说明
- CSS总结-----定位与盒子图
- HDU1423 Greatest Common Increasing Subsequence(最长公共递增子序列)