以C语言的迭代方法,将链表的最后k个节点以相反的顺序打印出来

以C语言的迭代方法,将链表的最后k个节点以相反的顺序打印出来

我们必须以相反的顺序打印链表的 k 个节点。我们必须应用迭代方法来解决这个问题。

迭代方法通常使用循环执行,直到条件值为 1 或 true。

比方说, list 包含节点 29, 34, 43, 56 和 88,k 的值为 2,输出将是直到 k 的备用节点,例如 56 和 88。

以C语言的迭代方法,将链表的最后k个节点以相反的顺序打印出来

示例

Linked List: 29->34->43->56->88 Input: 2 Output: 56 88登录后复制

下面的代码显示了给定算法的 C 实现。

算法

START    Step 1 -> create node variable of type structure       Declare int data       Declare pointer of type node using *next    Step 2 -> create struct node* intoList(int data)       Create newnode using malloc       Set newnode->data = data       newnode->next = NULL       return newnode    step 3 -> Declare function void rev(struct node* head,int count, int k)       create struct node* temp1 = head       Loop While(temp1 != NULL)          count++          temp1 = temp1->next       end       Declare int array[count], temp2 = count,i       Set temp1 = head       Loop While(temp1 != NULL)          Set array[--temp2] = temp1->data          Set temp1 = temp1->next       End       Loop For i = 0 and i In Main()       Create list using struct node* head = intoList(9)       Set k=3 and count=0       Call rev(head,count,k) STOP登录后复制