码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Problem A: 两个有序链表序列的合并


    Problem Description

    已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3。

    Input Description

    输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。

    Output Description

    在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。

    Sample Input

    1 3 5 -1
    2 4 6 8 10 -1

    Sample Output

    1 2 3 4 5 6 8 10
    

    Hint

    链表

    我开始写的代码:

    本来想写注释的但没有时间,期末在补吧······

    1. #include
    2. using namespace std;
    3. typedef struct LNode
    4. {
    5. int date;
    6. struct LNode *next;
    7. }LNode, *LinkList;
    8. void InsterList(LinkList &S1)
    9. {
    10. LinkList p;
    11. p = S1;
    12. int n;
    13. cin >> n;
    14. while (n != -1)
    15. {
    16. LinkList s = (LinkList)malloc(sizeof(LNode));
    17. s->date = n;
    18. s->next = NULL;
    19. p->next = s;
    20. p = p->next;
    21. cin >> n;
    22. }
    23. }
    24. void PrintList(LinkList S)
    25. {
    26. LinkList p;
    27. p = S->next;
    28. if (p == NULL)
    29. {
    30. cout << "NULL" << endl;
    31. }
    32. else
    33. {
    34. int i = 0;
    35. while (p != NULL)
    36. {
    37. if (i++ > 0)
    38. {
    39. cout << " ";
    40. }
    41. cout << p->date;
    42. p = p->next;
    43. }
    44. cout << endl;
    45. }
    46. }
    47. void SortLink(LinkList &S1, LinkList &S2, LinkList &S3)
    48. {
    49. LinkList pa, pb;
    50. LinkList pc;
    51. pa = S1->next;
    52. pb = S2->next;
    53. S3 = S1;
    54. pc = S3;
    55. while (pa && pb)
    56. {
    57. if (pa->date <= pb->date)
    58. {
    59. pc->next = pa;
    60. pc = pa;
    61. pa = pa->next;
    62. }
    63. else
    64. {
    65. pc->next = pb;
    66. pc = pb;
    67. pb = pb->next;
    68. }
    69. }
    70. pc->next = pa ? pa : pb;
    71. delete S2;
    72. }
    73. int main()
    74. {
    75. LinkList S1 = (LinkList)malloc(sizeof(LNode));
    76. LinkList S2 = (LinkList)malloc(sizeof(LNode));
    77. LinkList S3 = (LinkList)malloc(sizeof(LNode));
    78. S1->next = NULL;
    79. S2->next = NULL;
    80. S3->next = NULL;
    81. int n;
    82. InsterList(S1);
    83. InsterList(S2);
    84. SortLink(S1, S2, S3);
    85. PrintList(S3);
    86. return 0;
    87. }

  • 相关阅读:
    c 取字符串中的子串
    计算机毕业设计(附源码)python-重庆工程学校学生体测监测系统-微信小程序
    全网echarts案例资源大总结和echarts的高效使用技巧(细节版)
    小程序源码:恋爱小助手-多玩法安装简单
    序列合并
    1143. 最长公共子序列
    学生用台灯哪个品牌比较好?推荐学生护眼台灯品牌
    【YOLOv5入门】目标检测
    辅助驾驶功能开发-功能算法篇(1)-ACC-多目标选择
    那Java自学,该怎么开始,要怎么学?
  • 原文地址:https://blog.csdn.net/QQ3503814312/article/details/126975121
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号