首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我们在初始化链表的根时使用node*,而不是只说node?

在初始化链表的根时使用node*而不是只使用node的原因是因为链表是一种动态数据结构,需要通过指针来链接各个节点。在C/C++等编程语言中,node*表示一个指向节点的指针,而node表示节点本身。

使用指针的好处有以下几点:

  1. 内存分配:通过使用指针,可以在运行时动态分配内存来存储节点。链表的长度是不确定的,因此通过动态分配内存可以根据需要创建节点,而不是预先分配一定数量的节点。
  2. 链接节点:链表是由一系列节点通过指针链接而成的,通过使用指针,我们可以将每个节点的地址存储在前一个节点的指针中,从而实现节点之间的链接。
  3. 灵活性:使用指针可以方便地对链表进行插入、删除、修改等操作。通过改变指针的指向,可以在链表中任意位置插入新节点或者删除节点。

综上所述,初始化链表的根时使用node*是为了方便进行内存分配、节点链接和链表操作。

相关搜索:为什么链表的Node有next作为Node类型而不是int类型为什么我们在链表中插入时不使用free(node)?为什么我们在循环链表中使用do While而不是While?为什么在描述forall时,我们在dafny中使用隐含而不是共轭?为什么我们在计算校验和时使用1的补码而不是2的补码在非根节点中使用refresh_node时出现的Jstree问题为什么在使用React而不仅仅是Node HTTPS模块时使用Axios?为什么I'm gettingUncaught TypeError:无法在'Node‘上执行'appendChild’:参数1不是‘Node’类型。使用这个可拖动的代码?当我们使用电子打包器时,我们可以在没有安装节点的mac上启动node命令吗?为什么我们必须在使用boto3客户端时指定属性类型,而不是在资源中?使用Node.js数据创建POST http.request时出现的问题是在FormValue而不是Body中传递为什么我的promises在使用node和redis时不能解析?我的数组返回第一次迭代,而不是等待整个代码运行react-native找不到存在的node_modules。这可能只在我使用yarn工作区时发生为什么我的函数只有在只使用三元运算符而不是常规的if/else语句时才起作用?当使用返回时,为什么递归只产生第一个嵌套的对象值,而不是其余的值?在识别手写数字时,为什么我们应该在输出层使用10个神经元,而不是4个神经元?为什么我的函数使用原始列表,而不是我在调用该函数时用于参数的副本?在使用node-csv-parse时,您是否可以指定一些字段为文本限定字段,而另一些字段则不是?@page在所有页面上运行,而不是在使用带有react的css模块时只在一个页面上运行为什么在使用new/save而不是create时,has_many到的连接表没有在rails中创建?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Java容器源码攻坚战--第三战:HashMap(一)

    HashMap怪复杂的,如果一开始就上网上一大堆的HashMap的元素图,也没什么太大意思。 这里从一个小测试开始说起,一步步debug在HashMap里走一走。感觉有时候看源码有点像在风景区看风景,抱着的态度决定你的历程,那些漫步于风景中的人会着眼当前,收获每一个瞬间带给自己的感触。那些苛求踏遍每一份土地,览尽一切风光的人,倒是捉襟见肘,让行程变得劳顿。后者或许览尽风光而无憾,前者虽只览片景却仍收获颇丰,然而这并没有好坏之分,只有对你适合与否。----张风捷特烈 场景:模拟英语字典,有索引类和单词类,索引作为键,单词作为值放入HashMap中 由于HashMap挺大的,本篇只说一下HashMap的插入操作,包括:扩容、链表插入、链表树化。

    06

    HashMap?面试?我是谁?我在哪

    现在是晚上11点了,学校屠猪馆的自习室因为太晚要关闭了,勤奋且疲惫的小鲁班也从屠猪馆出来了,正准备回宿舍洗洗睡,由于自习室位置比较偏僻所以是接收不到手机网络信号的,因此小鲁班从兜里掏出手机的时候,信息可真是炸了呀,小鲁班心想,微信群平时都没什么人聊天,今晚肯定是发生了什么大事,仔细一看,才发现原来是小鲁班的室友达摩(光头)拿到了阿里巴巴JAVA开发实习生的offer,此时小鲁班真替他室友感到高兴的同时,心里也难免会产生一丝丝的失落感,那是因为自己投了很多份简历,别说拿不拿得到offer,就连给面试邀的公司也都寥寥无几,小鲁班这会可真是受到了一万点真实暴击,不过小鲁班还是很乐观的,很快调整了心态,带上耳机,慢慢的走回了宿舍,正打算准备向他那神室友达摩取取经。

    03

    HashMap?面试?我是谁?我在哪

    现在是晚上11点了,学校屠猪馆的自习室因为太晚要关闭了。勤奋且疲惫的小鲁班也从屠猪馆出来了,正准备回宿舍洗洗睡,由于自习室位置比较偏僻所以是接收不到手机网络信号的,因此小鲁班从兜里掏出手机的时候,信息可真是炸了呀。小鲁班心想,微信群平时都没什么人聊天,今晚肯定是发生了什么大事。仔细一看,才发现原来是小鲁班的室友达摩(光头)拿到了阿里巴巴 Java 开发实习生的 Offer,此时小鲁班真替他室友感到高兴的同时,心里也难免会产生一丝丝的失落感,那是因为自己投了很多份简历,别说拿不拿得到 Offer,就连给面试邀的公司也都寥寥无几。小鲁班这会可真是受到了一万点真实暴击。不过小鲁班还是很乐观的,很快调整了心态,带上耳机,慢慢的走回了宿舍,正打算准备向他那神室友达摩取取经。

    04

    Java集合 | 重识HashMap

    在Java中,Map接口主要定义了映射容器的一些基本属性,包括长度(size)、是否为空(isEmpty)、获取(get)、存放(put)、移除(remove),包含(contains),迭代(forEach)等。HashMap继承自Map,在1.8版本也做了很大的调整,主要用数组 + 链表+ 红黑树的存储实现方式,代替了老版本的数组 + 链表的方式。1.8版本之前,在添加元素发生hash碰撞时(这里的hash碰撞,就是根据key值得到的hash值,在进行计算得到的下标相同,但hash可能不一样),随着发生碰撞的元素越来越多,链表会一直增长,使检索效率逐渐退化成线性。1.8版本,采用了红黑树之后,提升了发生hash碰撞的元素的检索效率,使整体结构更加平衡。

    03
    领券