7-1 顺序表StuGrd_SqList(插入结点)全部代码
时间: 2024-09-14 21:10:06 浏览: 158
定义一个包含学生信息(学号,姓名,成绩)的顺序表
在编写顺序表(如链表)`StuGrd_SqList`用于插入节点的全部代码时,我们需要首先定义一个学生信息结构体(例如`StuInfo`),然后创建一个单向链表的数据结构,并提供一个插入节点的方法。这里假设这个链表存储的是学生的姓名和学号。以下是使用C++的一个简单示例:
```cpp
#include <iostream>
#include <string>
// 定义学生信息结构体
struct StuInfo {
std::string name;
int studentNo; // 学号
};
// 链表节点
class Node {
public:
StuInfo data;
Node* next;
Node(const StuInfo& info) : data(info), next(nullptr) {}
};
// 顺序表(单链表)类
class StuGrd_SqList {
private:
Node* head; // 头指针
public:
// 构造函数
StuGrd_SqList() { head = nullptr; }
// 插入节点到列表末尾
void insertNode(const StuInfo& info) {
Node* newNode = new Node(info);
if (head == nullptr) {
head = newNode;
} else {
Node* temp = head;
while (temp->next != nullptr) {
temp = temp->next;
}
temp->next = newNode;
}
}
// 打印链表内容
void printList() {
Node* temp = head;
while (temp != nullptr) {
std::cout << "Name: " << temp->data.name << ", Student No: " << temp->data.studentNo << "\n";
temp = temp->next;
}
}
};
int main() {
StuGrd_SqList stuList;
StuInfo stuInfo {"张三", 001};
stuList.insertNode(stuInfo);
stuList.printList();
return 0;
}
```
在这个例子中,`insertNode`方法接受一个新的`StuInfo`对象并将其添加到链表的尾部。`printList`方法用于遍历链表并打印所有学生的名称和学号。
阅读全文