在C++中使用队列链表来显示学生的姓名和身高,并以降序显示,可以按照以下步骤进行操作:
以下是示例代码:
#include <iostream>
#include <string>
using namespace std;
// 学生类
class Student {
public:
string name;
int height;
Student(string n, int h) {
name = n;
height = h;
}
};
// 队列链表类
class QueueLinkedList {
private:
struct Node {
Student student;
Node* next;
};
Node* front;
Node* rear;
public:
QueueLinkedList() {
front = nullptr;
rear = nullptr;
}
// 插入操作(按照身高降序插入)
void insert(Student student) {
Node* newNode = new Node;
newNode->student = student;
newNode->next = nullptr;
if (front == nullptr) {
front = newNode;
rear = newNode;
} else {
Node* current = front;
Node* previous = nullptr;
while (current != nullptr && current->student.height >= newNode->student.height) {
previous = current;
current = current->next;
}
if (previous == nullptr) {
newNode->next = front;
front = newNode;
} else {
previous->next = newNode;
newNode->next = current;
}
if (current == nullptr) {
rear = newNode;
}
}
}
// 显示操作(按照降序显示)
void display() {
Node* current = front;
while (current != nullptr) {
cout << "姓名:" << current->student.name << ",身高:" << current->student.height << endl;
current = current->next;
}
}
};
int main() {
QueueLinkedList queue;
// 添加学生对象
queue.insert(Student("张三", 180));
queue.insert(Student("李四", 175));
queue.insert(Student("王五", 185));
// 以降序显示学生的姓名和身高
queue.display();
return 0;
}
以上代码实现了一个使用队列链表在C++中显示学生姓名和身高,并以降序显示的程序。你可以根据实际需求进行修改和扩展。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云