数据结构c语言设计逆向输出顺序表函数代码
时间: 2024-09-19 11:17:10 浏览: 62
在C语言中,如果你想要设计一个函数来逆序输出顺序表(如单链表),你可以使用迭代或递归的方式来实现。这里是一个简单的例子,我们假设你有一个`Node`结构体表示链表节点,包含数据`data`和指向下一个节点的指针`next`。
```c
#include <stdio.h>
typedef struct Node {
int data;
struct Node* next;
} Node;
// 创建一个链表节点
void createNode(int value, Node** head) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = value;
newNode->next = NULL;
if (*head == NULL) {
*head = newNode;
} else {
Node* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newNode;
}
}
// 逆序输出链表
void reversePrintList(Node* head) {
Node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next; // 指向前一个元素
}
printf("\n"); // 打印换行符
}
int main() {
Node* head = NULL;
createNode(1, &head); // 创建一个单链表 {1 -> NULL}
createNode(2, &head); // {1 -> 2 -> NULL}
createNode(3, &head); // {1 -> 2 -> 3 -> NULL}
// 逆序打印链表
reversePrintList(head); // 输出: 3 2 1
return 0;
}
```
这个程序首先创建了一个单链表,然后调用`reversePrintList`函数来逆序输出链表中的节点值。注意,逆序输出是在遍历过程中完成的,每次移动到前一个节点而不是当前节点。
阅读全文