c++ 构建一个其中元素数据类型为float的链表。 使用头插法分别插入数据3.14, 5.26, 7.89。 使用尾插法分别插入数据4.67, 5.2, 7.9, 5.5。 遍历并输出该顺序表的每一
时间: 2024-09-24 10:15:39 浏览: 70
在C++中,我们可以创建一个自定义的单链表结构`Node`,用于存储`float`类型的值,并提供头插法(`push_front`)和尾插法(`push_back`)的功能。这里是一个简单的实现:
```cpp
#include <iostream>
// 链表节点结构体
struct Node {
float value;
Node* next; // 指向下一个节点的指针
};
// 创建链表头部
class LinkedList {
private:
Node* head;
public:
LinkedList() : head(nullptr) {}
// 头部插入函数(push_front)
void pushFront(float value) {
Node* newNode = new Node();
newNode->value = value;
newNode->next = head;
head = newNode;
}
// 尾部插入函数(push_back)
void pushBack(float value) {
if (head == nullptr) {
head = new Node();
head->value = value;
head->next = nullptr;
} else {
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = new Node();
current->next->value = value;
current->next->next = nullptr;
}
}
// 遍历并输出链表
void printList() const {
Node* temp = head;
while (temp != nullptr) {
std::cout << temp->value << " ";
temp = temp->next;
}
std::cout << std::endl;
}
};
int main() {
LinkedList list;
// 使用头插法插入元素
list.pushFront(3.14);
list.pushFront(5.26);
list.pushFront(7.89);
// 使用尾插法插入元素
list.pushBack(4.67);
list.pushBack(5.2);
list.pushBack(7.9);
list.pushBack(5.5);
// 遍历并输出链表
list.printList();
return 0;
}
```
当你运行这个程序,它会按照你指定的方式插入数据并打印出整个列表的内容。链表的输出将如下所示(数值可能会有微小差异,取决于编译器的精度设置):
```
7.89 5.26 3.14 4.67 5.2 7.9 5.5
```
阅读全文