SOS!!这代码太变态了

发布于 2022-10-15 08:56:54 字数 2432 浏览 23 评论 0

谁能解释一下??

  1. #include <iostream>
  2. using namespace std;
  3. struct NewNode {
  4.    NewNode() : node(0){}
  5.    int i;
  6.    NewNode * node;
  7. };
  8. void WalkList(NewNode * ptr) {
  9.    if (ptr != 0) {
  10.       int i = 1;
  11.       while (ptr->node != 0 ) {
  12.          cout << "node " << i++ << " = " << ptr->i << endl;
  13.          ptr = ptr->node;
  14.       }
  15.       cout << "node " << i++ << " = " << ptr->i << endl;
  16.    }
  17. }
  18. void AddNode(NewNode ** ptr) {
  19.    NewNode * walker = 0;
  20.    NewNode * MyNewNode = new NewNode;
  21.    cout << "enter a number: " << endl;
  22.    cin >> MyNewNode->i;
  23.    if (*ptr == 0)
  24.       *ptr = MyNewNode;
  25.    else  {
  26.       walker = *ptr;
  27.       while (walker->node != 0)
  28.          walker = walker->node;
  29.       walker->node = MyNewNode;
  30.    }
  31. }
  32. int main() {
  33.    char ans = ' ';
  34.    NewNode * ptr = 0;
  35.    do {
  36.       cout << "a (add node)  d (display list)  q (quit)" << endl;
  37.       cin >> ans;
  38.       switch (ans) {
  39.       case 'a':
  40.          AddNode(&ptr);
  41.          break;
  42.       case 'd':
  43.          WalkList(ptr);
  44.          break;
  45.       }
  46.    } while (ans != 'q');
  47. }

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

停顿的约定 2022-10-22 08:56:54

你想问啥?

你另情深 2022-10-22 08:56:54

这有什么变态的,不就简单的链表结点添加,和链表遍历的实现吗。。

筑梦 2022-10-22 08:56:54

把struct改成class你能理解了吧

安人多梦 2022-10-22 08:56:54

哪儿变态了?

执着的年纪 2022-10-22 08:56:54

表示不懂~

肤浅与狂妄 2022-10-22 08:56:54

回复 4# hellioncu

    尾随大好人·~~~没看过c++版的数据结构,,

从﹋此江山别 2022-10-22 08:56:54

本帖的变态之处,在于一定能火起来

卷耳 2022-10-22 08:56:54

要火要火{:3_187:}

稚然 2022-10-22 08:56:54

估计没看过c++ {:3_191:}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文