单链表实现学生信息c++
时间: 2024-09-24 11:07:31 浏览: 55
单链表是一种简单的数据结构,在C++中可以用来存储学生信息,比如姓名、学号等。首先,我们可以创建一个`Student`类表示每个学生,然后定义一个节点`Node`用于构成链表。
```cpp
// 定义Student类
class Student {
public:
std::string name;
int student_id;
// 构造函数和其他成员函数
Student(const std::string& name, int id) : name(name), student_id(id) {}
};
// 定义链表节点
struct Node {
Student data; // 存储学生数据
Node* next; // 指向下一个节点的指针
Node(Student&& student) : data(std::move(student)), next(nullptr) {} // 使用移动构造函数优化内存管理
};
// 链表类
class LinkedList {
private:
Node* head;
public:
LinkedList() : head(nullptr) {}
// 插入新学生
void insert(Student student) {
Node* newNode = new Node(std::move(student));
if (head == nullptr) {
head = newNode;
} else {
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = newNode;
}
}
// 查找学生
bool find(const std::string& name) const {
Node* current = head;
while (current != nullptr) {
if (current->data.name == name) {
return true;
}
current = current->next;
}
return false;
}
// 其他操作...
};
阅读全文