校园导航数据结构c语言源代码,基于C语言实现的校园导航
时间: 2023-08-22 17:22:30 浏览: 560
很好,我可以帮你解决这个问题。以下是一个基于C语言实现的校园导航的数据结构源代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NODE_COUNT 100 // 最大节点数
typedef struct {
int id; // 节点编号
char name[20]; // 节点名称
int x; // 节点横坐标
int y; // 节点纵坐标
} Node;
Node nodes[MAX_NODE_COUNT]; // 存储所有节点的数组
int nodeCount = 0; // 节点数量
void addNode(int id, char* name, int x, int y) {
if (nodeCount >= MAX_NODE_COUNT) {
printf("节点数量已达上限,无法添加新节点!\n");
return;
}
nodes[nodeCount].id = id;
strcpy(nodes[nodeCount].name, name);
nodes[nodeCount].x = x;
nodes[nodeCount].y = y;
nodeCount++;
}
void printNode(Node node) {
printf("%d: %s (%d, %d)\n", node.id, node.name, node.x, node.y);
}
void printAllNodes() {
printf("所有节点信息:\n");
for (int i = 0; i < nodeCount; i++) {
printNode(nodes[i]);
}
}
int main() {
addNode(1, "图书馆", 100, 200);
addNode(2, "教学楼", 300, 400);
addNode(3, "食堂", 500, 600);
printAllNodes();
return 0;
}
```
这段代码实现了一个简单的校园导航数据结构,包括节点的编号、名称、横纵坐标等信息,并支持添加新节点和打印所有节点信息的功能。
你可以根据需要进行修改和扩展,比如添加节点之间的距离信息,构建节点之间的路径等。
阅读全文