利用线性表的链式存储结构,建立一个整形单链表,输入10个整形元素,并且输出。要求按照头插法建立链表C++
时间: 2024-12-21 14:28:23 浏览: 11
在C++中,我们可以利用结构体(struct)来表示链表节点,然后通过指针实现链式存储。首先,我们创建一个简单的`Node`结构体,包含数据域和指向下一个节点的指针。接下来,我们将编写函数完成插入操作和打印链表。
```cpp
#include <iostream>
// 定义链表节点结构体
struct Node {
int data;
Node* next; // 指向下一个节点的指针
};
// 创建新节点并插入到链表头部
Node* insertAtHead(Node*& head, int value) {
// 创建新的节点
Node* newNode = new Node();
if (newNode == nullptr) {
std::cout << "Memory allocation failed.\n";
return nullptr;
}
// 插入值到新节点
newNode->data = value;
newNode->next = head;
// 更新头节点
head = newNode;
return newNode;
}
// 打印链表(从头开始)
void printList(Node* head) {
while (head != nullptr) {
std::cout << head->data << " ";
head = head->next;
}
std::cout << "\n";
}
int main() {
Node* head = nullptr; // 初始化链表为空
for(int i = 0; i < 10; ++i) {
head = insertAtHead(head, i + 1); // 从1到10逐个插入
}
// 打印链表
printList(head);
return 0;
}
```
在这个例子中,程序会先创建一个空的链表,然后循环10次,每次插入一个递增的整数。最后,它会打印出整个链表的内容。如果需要删除或修改元素,可以添加相应的方法。
阅读全文