码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 链表实现稀疏多项式相加(C++)


    1. #include
    2. using namespace std;
    3. typedef struct node
    4. {
    5. float coef;//系数
    6. int expn;//指数
    7. struct node* next;
    8. }list, * linklist;
    9. void Createlist(linklist& l)
    10. {
    11. l = new list;
    12. l->next = NULL;
    13. linklist p, q;
    14. q = l;
    15. cout << "输入多项式项数:" << endl;
    16. int n;
    17. cin >> n;
    18. for (int i = 0; i < n; i++)
    19. {
    20. p = new list;
    21. cout << "分别输入指数,系数:" << endl;
    22. cin >> p->expn >> p->coef;
    23. q->next = p;
    24. q = p;
    25. }
    26. q->next = NULL;
    27. }
    28. void Mpsort(linklist& L)//链表冒泡排序
    29. {
    30. linklist p = L->next,q;
    31. for (p = L->next; p != NULL; p = p->next)
    32. {
    33. for (q = p->next; q != NULL; q = q->next)
    34. {
    35. list tmp;
    36. if (p->expn > q->expn)
    37. {
    38. tmp.coef = p->coef;
    39. p->coef = q->coef;
    40. q->coef = tmp.coef;
    41. tmp.expn = p->expn;
    42. p->expn = q->expn;
    43. q->expn = tmp.expn;
    44. }
    45. }
    46. }
    47. }
    48. void Add(linklist& L1, linklist& L2)
    49. {
    50. linklist p1, p2, p3, r;
    51. r = NULL;
    52. p1 = L1->next, p2 = L2->next;
    53. p3 = L1;//新加多项式用L1表头
    54. while (p1 && p2)//两链表都不为空
    55. {
    56. if (p1->expn == p2->expn)//指数相等,进行运算
    57. {
    58. int sum = p1->coef + p2->coef;
    59. if (sum != 0)//系数和不为0
    60. {
    61. p1->coef = sum;//和存入链表一
    62. p3->next = p1;//新链表指向p1
    63. p3 = p1;
    64. p1 = p1->next;//p1往下走
    65. r = p2;
    66. p2 = p2->next;//p2往下走
    67. delete r;
    68. }
    69. else//和为0
    70. {
    71. r = p1; p1 = p1->next; delete r;//p1往下走
    72. r = p2; p2 = p2->next; delete r;//p2往下走
    73. }
    74. }
    75. else if (p1->expn < p2->expn)//p1中的指数小于p2中的指数
    76. {
    77. p3->next = p1;//新链表指向p1
    78. p3 = p1;
    79. p1 = p1->next;
    80. }
    81. else//p2中的指数小于p1中的指数
    82. {
    83. p3->next = p2;//新链表指向p2
    84. p3 = p2;
    85. p2 = p2->next;
    86. }
    87. }
    88. p3->next = p1 ? p1 : p2;//p1不为空,接p1;p1为空,接p2
    89. delete L2;
    90. }
    91. void Printlist(linklist& l)
    92. {
    93. linklist p;
    94. p = l->next;
    95. cout << "f = ";
    96. while (p->next!=NULL)
    97. {
    98. if (p->expn == 0)
    99. cout << p->coef<<" + ";
    100. else
    101. cout << p->coef << "x^" << p->expn << " + ";
    102. p = p->next;
    103. }
    104. cout << p->coef << "x^" << p->expn ;
    105. cout << endl;
    106. }
    107. int main()
    108. {
    109. linklist L1, L2;
    110. Createlist(L1);
    111. Mpsort(L1);
    112. Createlist(L2);
    113. Mpsort(L2);
    114. cout << "多项式一:" << endl;
    115. Printlist(L1);
    116. cout << "多项式二:" << endl;
    117. Printlist(L2);
    118. Add(L1, L2);
    119. cout << "多项式相加:" << endl;
    120. Printlist(L1);
    121. }

  • 相关阅读:
    java计算机毕业设计晨光文具店进销存系统设计与开发源码+系统+lw文档+mysql数据库+部署
    Asp-Net-Core开发笔记:进一步实现非侵入性审计日志功能
    向量数据库—加速大模型训练推理
    Rollup:zkSync v2.0和ZK-Rollup的未来
    第十三届蓝桥杯大赛软件赛决赛(C/C++ 大学C组)
    mysql之数据表高级操作
    LeetCode Cookbook 数组习题(4)
    【Spring源码三千问】@Lazy的替代者ObjectFactory 和 ObjectProvider
    木子-前端-方法标签属性小记(普通jsp/html篇)2023~2024
    base_lcoal_planner的LocalPlannerUtil类中getLocalPlan函数详解
  • 原文地址:https://blog.csdn.net/qq_74156152/article/details/133106748
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号