lxshllmlxk3 2021-01-21 19:13 采纳率: 66.7%
浏览 14
已采纳

关于数据结构的一个作业

我是一个cs专业在读的学生,有一个作业想请问一下,以下是源代码

#include <stdio.h>
#include <stdlib.h>
struct node {
    struct node* left;
    int data;
    struct node* right;
    };
    typedef struct node Node;
    Node* add(Node*, int);
    Node* create_node(int);
    void print_list(Node*);

    int main()
    {
        Node* list=NULL;
        int item;
        do {
                scanf("%d",&item);
        if (item != -1) list = add(list,item);
         }while(item!=-1);
         print_list(list);
         printf("\n");
         return 0;
         }
         Node* add(Node* list, int item)
         {
             Node* ptr;
             Node* old;
             if(list==NULL) list=create_node(item);
             else {
                    ptr=list;
             while( ptr!=NULL ) {
                    old = ptr;
             if(item < ptr->data) ptr = ptr->left;
             else ptr = ptr->right;
             }
             if(item < old->data)
                old->left=create_node(item);
             else old->right = create_node(item);
              }
              return list;
              }
              Node* create_node(int item)
              {
                  Node* new_node;
                   new_node = (Node*)calloc(1,sizeof(Node));
                   new_node->left=NULL;
                   new_node->data = item;
                    new_node->right = NULL;
                    return new_node;
                    }
                    void print_list(Node* list)
                    {
                        if (list!=NULL) {
                                print_list(list->left);
                        print_list(list->right);
                        printf("%d ", list->data);
                        }
                        return;
                        }

这时我输入3 5 1 7 2 8 4 6 9 -1得出的结果为2 1 4 6 9 8 7 5 3

请问这个数据构造的类型叫做什么?

如果输出结果应为1 2 3 4 5 6 7 8 9,那我需要修改函数 print_list()为什么?

这个数据探索需要的计算量为多少?

删除一个data的计算量应为多少?

急求,请各位大哥解答一下

 

  • 写回答

9条回答 默认 最新

  • 云中小筑 2021-01-21 22:51
    关注

    这是打印结果

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题