.利用线性表的链式存储结构,建立一个整型单链表,输入10个整型元素,并且输出。要求按照头插法建立链表。 测试数据输入:12345678910 输出:10987654321
时间: 2024-12-21 11:28:37 浏览: 23
要使用线性表的链式存储结构(如单链表)来实现这个需求,我们可以创建一个`Node`类来表示链表中的节点,然后定义一个`LinkedList`类来管理这些节点并进行插入操作。首先,我们创建一个`Node`类:
```cpp
class Node {
public:
int data;
Node* next;
Node(int value) : data(value), next(nullptr) {}
};
```
接着,我们定义`LinkedList`类,包括头插法插入元素的方法以及打印整个链表的方法:
```cpp
class LinkedList {
private:
Node* head;
public:
LinkedList() : head(nullptr) {}
// 头插法插入元素
void insertAtStart(int value) {
if (head == nullptr) {
head = new Node(value);
} else {
Node* newNode = new Node(value);
newNode->next = head;
head = newNode;
}
}
// 打印链表
void printList() {
Node* temp = head;
while (temp != nullptr) {
std::cout << temp->data << " ";
temp = temp->next;
}
std::cout << "\n";
}
};
int main() {
LinkedList list;
const char* input = "12345678910";
for (int i = 0; i < strlen(input); ++i) {
list.insertAtStart(input[i] - '0');
}
// 输出链表
list.printList();
return 0;
}
```
在这个程序中,我们首先初始化一个空链表,然后遍历输入字符串,将每个字符转换为数字并用头插法插入链表。最后,调用`printList`方法打印链表。
运行此代码后,你将得到预期的输出结果:`10 9 8 7 6 5 4 3 2 1`。
阅读全文