按编号查询结点信息c++
时间: 2024-10-12 08:08:48 浏览: 23
在C++中,如果你正在处理数据结构如链表、树或图,有时需要按节点的编号来查询其相关信息。这通常涉及到遍历数据结构并查找对应的索引。以下是一个简单的例子,假设我们有一个整数数组作为动态存储的节点,你可以通过std::vector
来实现:
#include <iostream>
#include <vector>
class Node {
public:
int id;
// 其他属性...
// 构造函数
Node(int id) : id(id) {}
};
// 存储节点的容器
std::vector<Node> nodeList;
// 查询方法
Node* findNodeByIndex(int index) {
if (index >= 0 && index < nodeList.size()) {
return &nodeList[index]; // 返回指向该位置的指针
} else {
throw std::out_of_range("Index out of range"); // 如果索引无效,抛出异常
}
}
int main() {
// 添加节点到列表
nodeList.push_back(Node(1));
nodeList.push_back(Node(2));
nodeList.push_back(Node(3));
// 按编号查询
int searchId = 2;
try {
Node* foundNode = findNodeByIndex(searchId);
std::cout << "Node with ID " << foundNode->id << " information: ...";
} catch (const std::out_of_range& e) {
std::cerr << "Error: " << e.what() << '\n';
}
return 0;
}
在这个例子中,findNodeByIndex
函数接收一个整数索引,并返回对应编号的节点。如果索引超出了范围,会抛出异常。
相关推荐


















