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++ 中使用链表进行基本操作,包括:

  1. 动态输入数据:允许用户输入数据,并设置最大长度阈值,当用户输入 'OK' 时退出循环。
  2. 删除节点:根据用户输入的索引删除指定节点。
  3. 插入节点:根据用户输入的索引和值插入新节点。
  4. 遍历链表:分别实现正向遍历和反向遍历。
  5. 保存链表到文件:将链表数据保存到文件中。
  6. 从文件中读取链表:从文件中读取链表数据。

本示例提供了 C++ 链表操作的完整流程,并结合了用户交互和文件存储功能,方便用户理解和应用链表数据结构。


原文地址: https://www.cveoy.top/t/topic/bqVg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录