从给定的链表在 C++ 中创建反向链表

2024-01-02

我在从给定的链接列表以相反的顺序创建链接列表时遇到一些问题。

我有java背景,刚刚开始做一些C++。

你能检查一下我的代码并看看有什么问题吗?我猜我只是在操纵指针而不是创建任何新内容。

//this is a method of linkedlist class, it creates a reverse linkedlist
//and prints it

void LinkedList::reversedLinkedList()
{
    Node* revHead;

    //check if the regular list is empty
    if(head == NULL)
       return;

    //else start reversing
    Node* current = head;
    while(current != NULL)
    {
        //check if it's the first one being added
        if(revHead == NULL)
           revHead = current;

        else
        {
            //just insert at the beginning
            Node* tempHead = revHead;
            current->next = tempHead;
            revHead = current;
        }
        current = current->next;

     }//end while

     //now print it
     cout << "Reversed LinkedList: " << endl;

     Node* temp = revHead;
     while(temp != NULL)
     {
         cout << temp->firstName << endl;
         cout << temp->lastName << endl;
         cout << endl;

         temp = temp->next;
      }

}//end method

更简单的方法:遍历链表,保存上一个和下一个节点,然后让当前节点指向前一个节点:

void LinkedList::reversedLinkedList()
{
    if(head == NULL) return;

    Node *prev = NULL, *current = NULL, *next = NULL;
    current = head;
    while(current != NULL){
        next = current->next;
        current->next = prev;
        prev = current;
        current = next;
    }
    // now let the head point at the last node (prev)
    head = prev;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从给定的链表在 C++ 中创建反向链表 的相关文章

随机推荐

  • WPF进度条样式是块状的?

    我在应用程序中使用不确定的进度条 并且得到了一系列水平运行的块的糟糕动画 难道没有更好的风格可用 例如 vista 或 windows 7 吗 您的进度条具有与当前 Windows 主题相对应的样式 如果您在带有 Aero 主题的 Wind
  • 显示:内联边距、填充、宽度、高度

    如果我设置display inline对于任何元素 那么将margin padding width height不影响该元素 是否有必要使用float left or display block or display inline bloc
  • 是否可以在线检索 Dynamics CRM 中的架构更改信息?

    创建自定义实体 添加或更改字段时 有人会对元数据进行开箱即用的更改 如何知道是谁以及何时做的 从 UI 表单创建或修改也是如此 CRM 中的元数据似乎不存储该信息 我认为无法访问您所要求的信息 本地 CRM 数据库中没有此类信息 我想 CR
  • Mercurial:在一个存储库中的分支之间合并一个文件

    当我在 Hg 存储库中有两个分支时 如何仅将一个文件与另一个分支合并 而不合并变更集中的所有其他文件 是否可以仅合并某些文件 而不是整个变更集 警告 虚拟合并 原样 Martin Geisler 推荐 https stackoverflow
  • 在TFS中构建一组特定项目

    有谁知道如何配置 TFS Build 以在解决方案中构建一组项目 我的解决方案有 16 个项目 但对于我的构建定义之一 我希望编译其中的一些项目 我认为最简单的方法是创建一个新的解决方案文件 没有什么可以阻止您拥有引用相同项目 或某个子集
  • Webpack 导入 font-awesome 库时出现问题

    我正在构建一个 React 应用程序 需要导入 font awesome CSS 但我收到一条错误消息 指出该模块无法解析 woff2 文件 下面是我的代码 import React from react import ReactDOM f
  • chromes“appendChild”真的那么慢吗?

    我有一个框架 可以完全使用以下方式生成应用程序的 DOMdocument createElement and document appendChild 现在应用程序变得越来越大 我注意到 Chrome 需要比其他浏览器更长的时间来构建 DO
  • WPF:如何使控件在 StackPanel 中拉伸?

    当放置在 StackPanel 中时 Slider 和一些其他控件不会拉伸以填充可用空间 相反 宽度始终为 MinWidth 如果未设置 MinWidth 则约为 10 像素 如何使其拉伸 相当于 WinForms 中的 Anchor Le
  • 有没有一个好的 jQuery 插件可以实现隐藏效果,看起来就像 Windows 中最小化窗口一样

    正如标题所述 是否有一个 jQuery 插件效果可以让我以类似于 Windows 的方式隐藏 div 因此 div 会移动 缩小并变得透明到屏幕上的某个点 这是一个例子 http fstoke me jquery window http f
  • 删除特定字符之后的所有字符[重复]

    这个问题在这里已经有答案了 谁能告诉我如何删除之后的字符 在 PHP 中 我有一根绳子test q new我需要从 到字符串的末尾 最短的 echo strtok test new 如果你想保留问号 解决方案几乎是一样的 echo strt
  • Spring Security Remember Me 失败并出现 CookieTheftException [重复]

    这个问题在这里已经有答案了 My SecurityConfig我在其中配置记住我功能的类userService and persistenceTokenRepository Override protected void configure
  • 在 Safari 中查看 HTTP 标头

    在 Mac OS X Sierra 上的 Safari 10 Web 浏览器中 打开 Web Inspector 我访问一个公共网站 例如 google com 如何在 macOS 上的 Safari 中查看 HTTP 标头 将完整的解决方
  • 不同机器上 dBase III .dbf 文件的编码问题

    我正在使用 C 和 NET 3 5 尝试使用 ODBC 和 Microsoft dBase 驱动程序从旧 dbf 文件导入一些数据 dbf 采用 dBase III 格式 并使用 ibm850 字符串编码 现在 当我在我的机器上运行我的程序
  • 一个进程中存在多个 Ruby EventMachines:可能吗?

    我有一种情况 我想在 Ruby 中运行多个 EventMachine 有人有这方面的经验吗 如果没有的话 我可以自己写一个测试用例来完成 请继续关注 让我们明确一点 我想自己实例化两个线程 然后调用EventMachine run在两个线程
  • 为什么我的 jar 文件不能在 netbeans 之外运行?

    我构建了一个 jar 文件 当我单击 运行 时 该文件可以在 netbeans 中完美运行 但是当我尝试通过双击运行 jar 文件时 它没有运行 什么也没有发生 双击 jar 即可启动它 但除非您有一个可以打开新窗口 在不同线程中 的 GU
  • 从 jsr-303 自定义验证器访问数据库

    我将基于 Spring 的验证与 Hibernate 验证器结合使用 该验证器由我的应用程序上下文中的以下内容启用
  • PyInstaller - ImportError:没有名为 _bootlocale 的模块

    每次我尝试在 PyInstaller 中编译 python 文件时 它都会返回很多错误 这些是编译错误 Traceback most recent call last File c users Person appdata local pr
  • 为什么python中会出现这个AttributeError?

    有件事我不明白 为什么会这样 import scipy happens with several other modules too I took scipy as an example now matrix scipy sparse co
  • Google 我的商家 API 的测试/沙盒环境

    我刚刚开始使用 Google My Business API 并且能够执行获取操作只是为了验证我的 Oauth 设置是否正确 现在 我想使用 GMB 添加位置 API 的 post 方法添加位置 但在将代码推送到生产环境之前 我想测试此请求
  • 从给定的链表在 C++ 中创建反向链表

    我在从给定的链接列表以相反的顺序创建链接列表时遇到一些问题 我有java背景 刚刚开始做一些C 你能检查一下我的代码并看看有什么问题吗 我猜我只是在操纵指针而不是创建任何新内容 this is a method of linkedlist