那个是头插法,怎么输出5 4 3
时间: 2024-09-15 07:13:47 浏览: 30
TIM1 CH1 互补输出PWM_PWM充电_form3w5_无线充电_无线充电stm32_STM32互补输出_
你提到的“头插法”通常是指在链表头部插入新节点的操作。在你给出的代码中,`creat_head()` 函数实际上是创建了一个链表,并且从用户输入开始逐个添加到链表的头部。要按照 5 4 3 的顺序输出,你需要调整一下插入节点的方式。
首先,当读取第一个数字时,直接将其作为新节点添加到链表头部,而不是存储在变量 `x` 中。接下来的两个数字也是类似操作,但记得交换它们的位置,因为你在原始循环里是先读取 `x` 再读取下一个数。
下面是调整后的代码部分:
```c
void create_linked_list(linklist &L, int x) {
lnode *new_node = (lnode *)malloc(sizeof(lnode));
new_node->data = x;
new_node->next = L->next;
L->next = new_node;
}
// 创建链表时,直接依次添加数字
linklist creat_head(linklist &L)
{
linklist tail = L;
int x;
cin >> x;
while (cin.get() != '\n') {
create_linked_list(L, x); // 更改这里的函数调用
cin >> x;
}
return L;
}
```
然后,保持 `print()` 函数不变,运行此版本的程序,你应该能看到 5 4 3 的输出。
如果你还需要帮助,或者对链表的操作有其他疑问,请告诉我。
阅读全文