您的位置:首页 > 理论基础 > 数据结构算法

带头结点的单链表——数据结构课堂作业

2016-11-13 19:00 218 查看
/**************************************/
/* 链表实现的头文件,文件名slnklist.h */
/**************************************/


/*
编写一个程序,用尽可能快的方法返回带头结点单链表中倒数第k个结点的地址,如果不存在,则返回NULL。
*/
/**********************************/
/*文件名称:lab3_09.c             */
/**********************************/
#include "slnklist.h"
/*请将本函数补充完整,并进行测试*/
linklist   search(linklist head,int k)
{
linklist p = head;
int cnt = 0;
p =p->next;
while(p) {
cnt ++;
p = p->next;
}
p = head;
int ans = cnt - k + 1;
while(ans--) {
p = p->next;
}
return p;
}
int main()
{
int k;
linklist head,p;
head=creatbyqueue();        /*尾插法建立带头结点的单链表*/
print(head);                  /*输出单链表head*/
printf("k=");
scanf("%d",&k);
p=search(head,k);
if (p) printf("%d\n",p->info);
else
printf("Not Found!\n");
delList(head);
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐