链表部分

2024-02-01

我想我可能做对了,headByRating 和 headByName 都引用相同的地址。

我整天都在画图表尝试新事物等,但我并没有真正取得任何进展。

我有两个列表指针,headByRating 和 headByName。 以及两个节点指针 nextByName 和 nextByRating。

不知何故,我需要能够按名称和评级对这些内容进行排序。 我一直在想我是通过每个 ptr 的地址来做到这一点的。

以我一直在尝试排序的2条语句为例:



//main.cpp

list *wineries = new list();
wineries->insert(winery("Lopez Island Vinyard", "San Juan Islands", 7, 95));
wineries->insert(winery("Gallo", "Napa Valley", 200, 25));
  

酒厂 ctor 很好,此时所有内容都已分配并进入对象:



//list.cpp
void list::insert( const winery& winery )
{
         list *listPtr  = new list(); // havent really used the list obj. yet.

    node *current = new node( winery ); // winery is now a node.
    node *temp    = current;     // temp knows about the nodes address.

    while ( temp->nextByName != NULL )
    {
                 // check for null and reassign 
        temp = temp->nextByName;
    }
    node *new_node = new node( winery ); // creating a new node.
    new_node->item = winery; 
    new_node->nextByName   = new_node;
    new_node->nextByRating = new_node;
}
  


// list.h
struct node
{
    winery  item;
    node *  nextByName;
    node *  nextByRating;
};

class list
{
    ...
private:
    node * headByName;
    node * headByRating;
};
  

对此有什么好的方法吗?我认为我这样做不对。


你为什么要滚动自己的链表?为什么不使用std::list? 如果是为了双重排序,两个单独的指针列表就可以工作,并且如果您可以使用提供的容器类,就会容易得多。

或者,如果您需要对其进行排序,链表是最佳选择吗?std::vector通常更容易排序,或者std::set维持秩序本身。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链表部分 的相关文章

随机推荐

  • 无法在 Interface Builder 中连接 IBOutlet

    我有一个奇怪的经历 我创建任何类型的 iPhone 应用程序 添加带有 Xib 文件的 UIViewController 我可以使用控件编辑 xib 文件 并在运行时查看它们的渲染效果 现在我尝试向控制器添加一些 IBOutlet 因此我将
  • C# 中是否有与此 Java 代码等效的代码?

    public class ThreadTest public static void main String args Runnable runnable new Runnable Override public void run Code
  • Go 中的旋转数组

    这是一个 LeetCode 问题 189 旋转数组 https leetcode com problems rotate array description 给定一个数组 将数组向右旋转 k 步 其中 k 是 非负数 示例1 输入 1 2
  • 为什么使用 jQuery(selector).get(0) 而不是 jQuery(selector)[0] 来获取 DOM 元素?

    使用 jQuery 有什么好处吗 selector get 0 over selector 0 如果我只想获取 jQuery 数组中的第一项作为 DOM 元素 HTML
  • 使用子模块配置 Android 项目以与 sonarqube gradle 插件一起使用的正确方法是什么?

    使用子模块配置 Android 项目以与 sonarqube gradle 插件一起使用的正确方法是什么 谷歌不是我的朋友 但我可能错过了一些基本的东西 我搜索与 android 构建目录和子模块相关的 sonarqube 问题 没有有用的
  • Spark:如何将 RDD[T]` 拆分为 Seq[RDD[T]] 并保留顺序

    如何有效拆分RDD T into a Seq RDD T Iterable RDD T with n元素并保留原始顺序 我希望能够写出这样的东西 RDD 1 2 3 4 5 6 7 8 9 split 3 这应该会导致类似的结果 Seq R
  • 重复使用范围进行迭代

    我试图了解如何将范围与迭代器一起使用 如果我声明一个范围并将其与迭代器一起使用 是否可以与另一个迭代器一起重复使用该范围 例如 这不会编译 fn main let smallr 0 10 for i in smallr println va
  • Dart/Flutter 按位移位运算符返回不同的值

    与移动 桌面相比 Dart Flutter 中的按位移位运算符在 Web 中返回不同的值 运行以下代码 var checksum 1150946793 var shift checksum lt lt 5 print shift Retur
  • 在 HTML 中向下滚动

    如何滚动myDiv在下面的代码中 此代码向下滚动整个浏览器窗口的内容 我只需要向下滚动一个分割层
  • 为什么“取消引用”和“地址”运算符位于左侧?

    在 C 以及其他一些类似 C 的语言 中 我们有 2 个一元运算符用于处理指针 解引用运算符 和 地址 运算符 他们是left一元运算符 这会带来运算顺序的不确定性 例如 ptr gt field or arr id 操作顺序is标准严格定
  • 计算数据帧中数字连续出现的次数

    我有一个包含 1 和 0 的虚拟列的数据框 我想计算每行 1 或 0 出现的次数 每次都从 0 开始 对 1 进行累加计数 对 0 进行倒数计数下面是一个例子 import pandas as pd df pd DataFrame Dumm
  • Excel:检查单元格是否包含文本字符串中的数字

    我有一个工作表 每个单元格中都有文本字符串 文章标题 我想知道单元格是否包含数字 例如 This is 3 gt TRUE Red balloon gt FALSE It s 10 things gt TRUE Update 这里的每个答案
  • python urllib2:连接被对等方重置

    我有一个 Perl 程序 可以从我的大学图书馆的数据库中检索数据 并且运行良好 现在想用python重写但是遇到问题
  • 无法单击 iframe 中的下拉菜单 - Selenium Python

    问题 尝试使用 Chrome 驱动程序和 Selenium 以及 Python 单击 iframe 内的下拉菜单 大家好 昨天一位用户好心地帮助我解决了一个新手查询 我无法单击 url 中的链接 这是因为我必须切换到 iframe 这部分代
  • 如何在C#中手动使用资源(无IDE行为)?

    我正在使用 Visual Studio 学习 C 我想更深入一点 我想知道如何手动使用项目资源 不是通过 IDE 我搜索了该网站 但我刚刚看到这个家伙的帖子如何在 NET中创建和使用资源 https stackoverflow com qu
  • 在 Firefox 扩展中使用 indexedDB

    我无法在 Firefox 扩展中使用 indexedDB 保存数据 我也找不到有关 indexedDB 和 Firefox 扩展的任何信息 有人处理过这个吗 唯一的问题是 对于indexedDB您需要一个窗口 除此之外 从附加组件使用它时没
  • XMLReader 未知

    按照此介绍 http csharp net tutorials com xml reading xml with the xmlreader class 可以通过导入命名空间来使用 XMLReader 类System Xml 在我的 Vis
  • 使用 SWAPI(星球大战 API)的 React 项目出现混合内容错误

    我构建一个 React 项目只是为了尝试一些东西 我在使用时遇到问题SWAPI 星球大战 API https swapi dev 我不断收到Mixed Content Error当我尝试在我的 React 项目中通过 axios 使用他们的
  • istio egressgateway:通过静态 IP 进行路由

    我尝试通过静态 IP 从 GKE 集群中的应用程序路由出站流量 因为目标服务器需要将 IP 列入白名单才能访问 我已经能够使用 terraformed nat 网关来执行此操作 但这会影响来自集群的所有流量 按照网站上的 istio 指南
  • 链表部分

    我想我可能做对了 headByRating 和 headByName 都引用相同的地址 我整天都在画图表尝试新事物等 但我并没有真正取得任何进展 我有两个列表指针 headByRating 和 headByName 以及两个节点指针 nex