c语言数据结构树的遍历
在C语言中,我们通常使用结构体来表示树。首先,我们定义一个节点,它包含一个值和一个指向其子节点的指针数组。然后,我们可以使用递归函数来遍历树。
以下是一个简单的二叉树的遍历示例:
c复制代码
c语言struct用法例子
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int value;
struct Node *left;
struct Node *right;
} Node;
Node* createNode(int value) {
Node* newNode = (Node*)malloc(sizeof(Node));
if (newNode == NULL) {
printf("Memory error\n");
return NULL;
}
newNode->value = value;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
void inorderTraversal(Node* root) {
if (root != NULL) {
inorderTraversal(root->left);
printf("%d ", root->value);
inorderTraversal(root->right);
}
}
int main() {
Node* root = createNode(1);
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
printf("Inorder traversal: ");
inorderTraversal(root);
return 0;
}
在这个例子中,我们首先定义了一个名为Node的结构体,它包含一个整数值value,以及指向左子节点和右子节点的指针。然后我们定义了一个createNode函数,它用于创建一个新的节点。然后我们定义了一个inorderTraversal函数,它采用中序遍历方式遍历二叉树。最后,在主函数中,我们创建了一个简单的二叉树,并打印了它的中序遍历结果。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。