/******************************************************** name : FindKNode* function : 查找链表中倒数第k(k为正整数)个位置上的结点* 查找成功输出该结点的data值,并返回1,否则只返回0* argument* @head : 链表头结点的地址* @k : 需要查找的位置** retval : 成功返回1,否则返回0* author : Dazz* date : 2024/4/22* note : None** *******************************************************/
bool FindKNode(LinkList_t *head, unsigned int k)
{// 错误处理if (NULL == head){printf("请输入有效地址\n");return false;}// 备份头结点LinkList_t *temp1 = head;// 用循环备份第k个结点LinkList_t *temp2 = head;for (int i = k - 1; i > 0; i--){temp2 = temp2->next;}// 遍历链表,找到第k个结点while (temp1->next){temp1 = temp1->next;temp2 = temp2->next;}// 输出第k个结点中数据域的值printf("%d\n", temp2->data);return true;
}