@yogurt_

在做Acwing 和力扣的编程时,经常有一个节点是ListNode,这里记录一下利用已有已知结构体根据输入利用尾插法创立单链表。

经过查阅资料,理解和最后实现如下:
ListNode结构体的定义

struct ListNode {int val;//当前节点值ListNode *next;//指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {}//给定的构造函数声明;初始化当前结点值为x,指针为空
};

构造一个新的节点的语法

 ListNode *p = new ListNode(0);//构造一个新节点,值为0,指针为空

尾插法建立单链表,完整代码

#include <iostream>
#include <vector>
using namespace std;
//单链表结点结构体的定义
struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};
void print(ListNode* head);
//vector<int> printListReversingly(ListNode* head);
int main()
{ListNode *dummy = new ListNode(0);//初始化一个虚拟头结点ListNode *cur = dummy;//尾节点指针初始时指向虚拟头结点cin.get();//接收‘[’字符,并跳过int temp;while (cin >> temp)//接收结点的数值信息{ListNode *tmp = new ListNode(temp);//创建一个临时节点,值为接收的数值信息,指针为空cur->next = tmp;//尾结点的next指向临时结点,也就是连上上一个结点和当前结点cur = tmp;//将尾节点指向临时结点if (cin.get() != ',')//如果不是',',也就是是‘]’的时候,跳出循环,结束建立单链表break;}ListNode *head = dummy->next;//单链表的head为虚拟头结点的nextprint(head);//打印建立的单链表return 0;
}
//打印建立的单链表
void print(ListNode* head)
{ListNode* p = head;while (p != NULL){cout << p->val << " ";p = p->next;}cout << "\n";
}

运行截图

以上注释部分包含个人理解,如果有描述不准确的地方,欢迎交流!转载请注明出处,谢谢!
参考文献
[1]: https://www.cnblogs.com/xiaoxue126/p/9015541.html
[2]: https://bbs.csdn.net/topics/390806135

C++中LIstNode尾插法建立单链表相关推荐

  1. C++头插法尾插法建立单链表,合并两个有序单链表

    A和B是两个单链表(带表头结点),其中元素递增有序.设计一个算法,将A和B归 并成一个按元素值非递减有序的链表 C,C由A 和B 中的结点组成. #include<iostream> #i ...

  2. 采用头插法和尾插法建立单链表

    面说一下如果用C语言建立单链表,分为头插法和尾插法两种. 采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后 ...

  3. 单链表的建立(C语言):头插法和尾插法建立单链表

    采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后,如图2-4所示. 图2-4  头插法建立单链表 头插法建 ...

  4. 数据结构__头插法建立单链表、尾插法建立单链表

    单链表定义.头插法建表.尾插法建表 一.单链表的定义   单链表是线性表的链式存储,是指通过一组任意的存储单元来存储线性表中的数据元素. 单链表结构定义为: 其中data为数据域,用来存放数据:nex ...

  5. 头插法、尾插法建立单链表

    头插法.尾插法建立单链表 #include<stdio.h> #include<stdlib.h> #define TRUE 1 #define FALSE 0 #define ...

  6. C++ 头插法建立单链表,单链表原地逆置以及尾插法建立单链表

    #include <iostream> #include <stdlib.h> #include <cstdio> typedef int ElemType; us ...

  7. 利用尾插法建立单链表

    PTA 5-3本题目要求利用尾插法建立单链表 #输入格式: 输入数据为若干正整数,最后以-1表示结尾(-1不算在序列内,不要处理).所有数据之间用空格分隔. #输入样例: 1 2 3 4 5 6 7 ...

  8. 头插法与尾插法建立单链表

    头插法与尾插法建立单链表 import java.util.*; class Node {int value;Node next;Node(int x) {value = x;} } public c ...

  9. 尾插法建立单链表,并输出链表

    #include <stdio.h> #include <stdlib.h> typedef struct LNode {     int data ;     struct ...

最新文章

  1. Redis源码解析——双向链表
  2. Web开发者必备的12款超赞jQuery插件
  3. 11月16日bd之旅意外参加黄波博士讲座
  4. QT的QScrollArea类的使用
  5. 菜单工具栏wxPython菜单与工具栏基础示例
  6. Python递归实现汉诺塔
  7. jdbc详解:1、创建数据库connection连接
  8. [html] 怎样避免让用户看到长时间的白屏?
  9. Log4J 1.x 配置详解
  10. 一文简单理解Java反射及使用
  11. TensorBoard:嵌入可视化
  12. owncloud个人私有云 一键安装包操作指南
  13. 数据恢复基础和进阶教程(二)
  14. android自定义视频列表,Android列表视频播放开发之路
  15. 本来共享的计算机突然无法访问,win7无法启用共享访问怎么办_win7无法启用共享访问如何处理-win7之家...
  16. Janus: P2P打洞失败
  17. 浏览器标准模式和怪异模式之间的区别是什么——整理自网页
  18. python web py入门(6)-webpy在模板里使用code代码段错误的问题
  19. hdu5761Rower Bo(计算几何)
  20. vue 表格格式化时间:formatter没有效果

热门文章

  1. java图片上传压缩
  2. ucl数学与计算机科学系,UCL专业排名
  3. python读取多个excel表_python 实现读取一个excel多个sheet表并合并的方法
  4. 使用transform制作书本翻页效果
  5. adams2015怎么把工具栏打开_剪映怎么玩的更好?教你0基础也能秒会的剪映三大进阶级功能!...
  6. 基础数据类型与复杂数据类型的区别
  7. data:image/png;base64是什么
  8. Android bytes与KB、MB、GB单位转换
  9. 判断是否是微信中打开网页
  10. 2022年低压电工考试题模拟考试题库模拟考试平台操作