C++ 链表操作:动态输入、删除、插入、遍历和文件存储
int main() {
List list;
int nCount = 0;
int maxLength = 10; // 设置链表的最大长度阈值
string input;
while (nCount < maxLength) {
int nVal;
cout << "请输入第" << nCount + 1 << "个数:";
cin >> input;
if (input == "OK") {
break;
}
nVal = stoi(input);
addNode(&list, nVal);
nCount++;
}
if (nCount == maxLength) {
cout << "链表长度超过" << maxLength << ",节点数过大。" << endl;
}
int nIndex;
cout << "请输入要删除的节点索引:";
cin >> nIndex;
delNode(&list, nIndex);
cout << endl;
int nIdx, nVal;
cout << "请输入要插入的节点索引和值(用空格分隔):";
cin >> nIdx >> nVal;
insertNode(&list, nVal, nIdx);
cout<< endl;
// 遍历链表
traverse(&list, 0); // 正向遍历
cout << endl;
traverse(&list, 1); // 反向遍历
cout << endl;
// 保存链表到文件
savelist(&list);
// 从文件中读取链表
readlist(&list);
// 再次遍历链表
traverse(&list, 0); // 正向遍历
cout << endl;
traverse(&list, 1); // 反向遍历
cout << endl;
return 0;
}
该代码展示了如何在 C++ 中使用链表进行基本操作,包括:
- 动态输入数据:允许用户输入数据,并设置最大长度阈值,当用户输入 'OK' 时退出循环。
- 删除节点:根据用户输入的索引删除指定节点。
- 插入节点:根据用户输入的索引和值插入新节点。
- 遍历链表:分别实现正向遍历和反向遍历。
- 保存链表到文件:将链表数据保存到文件中。
- 从文件中读取链表:从文件中读取链表数据。
本示例提供了 C++ 链表操作的完整流程,并结合了用户交互和文件存储功能,方便用户理解和应用链表数据结构。
原文地址: https://www.cveoy.top/t/topic/bqVg 著作权归作者所有。请勿转载和采集!