运用简单基础的 C++语言编写程序建立一个单向链表。首先从键盘输入一串字符串,然后将该串字符按从小到大的顺序组织在链表中并输出。
时间: 2024-02-12 22:07:34 浏览: 84
好的,我可以帮你编写这个程序。以下是C++代码:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义链表节点结构体
struct ListNode {
char val;
ListNode* next;
ListNode(char x) : val(x), next(NULL) {}
};
// 插入节点函数
void insertNode(ListNode* &head, char val) {
ListNode* newNode = new ListNode(val); // 创建新节点
if (head == NULL || head->val >= val) { // 如果链表为空或插入值比头节点小
newNode->next = head;
head = newNode;
} else { // 否则找到插入位置
ListNode* cur = head;
while (cur->next != NULL && cur->next->val < val) {
cur = cur->next;
}
newNode->next = cur->next;
cur->next = newNode;
}
}
// 输出链表函数
void printList(ListNode* head) {
while (head != NULL) {
cout << head->val << " ";
head = head->next;
}
}
int main() {
string s;
cout << "请输入一个字符串:";
getline(cin, s); // 从键盘输入字符串
ListNode* head = NULL;
for (int i = 0; i < s.size(); i++) {
insertNode(head, s[i]); // 将字符插入链表
}
cout << "排序后的链表为:";
printList(head); // 输出链表
return 0;
}
```
程序的主要思路是:先从键盘输入一个字符串,然后将字符串中的每个字符插入到链表中,插入时按从小到大的顺序排列。最后输出排好序的链表。
注意,这里使用了结构体和指针来实现链表。如果对链表的概念和操作不是很熟悉,可以先学习一下链表的基本知识。
阅读全文