2009年408代码题
作者:
xwtxxx
,
2022-11-10 01:40:13
,
所有人可见
,
阅读 186
#include <iostream>
using namespace std;
typedef int ElemType;
typedef struct LNode
{
ElemType data;
LNode* link;
}LNode, *LinkList;
LNode* search_k(LinkList& list, int k)
{
LNode* slow = new(LNode);
LNode* fast = new(LNode);
slow = fast = list->link;
while (fast != NULL && k > 1)
{
fast = fast->link;
k -- ;
}
if (fast == NULL) return fast;
while (fast->link != NULL)
{
slow = slow->link;
fast = fast->link;
}
return slow;
}
int main()
{
LinkList list = new(LNode);
list->link = NULL;
for (int i = 10; i >= 1; i -- )
{
LNode* p = new(LNode);
p->data = i;
p->link = list->link;
list->link = p;
}
int k;
cin >> k;
if (search_k(list, k)) cout << search_k(list, k)->data << endl;
else cout << "失败, 结点数不够" << k << "个" << endl;
return 0;
}