数据结构——二叉排序树(C语言版)

#include <stdio.h>
//#include <stdlib.h>
/*typedef int DataType;
typedef struct node{
    DataType data;
    struct node *left,*right;
}Node;

void insertNode(Node **root,DataType Elem){
    if(*root==NULL){
        Node *p=(Node*)malloc(sizeof(Node));
        p->data=Elem;
        p->left=p->right=NULL;
        *root=p;//***树为空时,根节点指向该结点
    }
    else if((*root)->data<Elem)
        insertNode(&((*root)->right),Elem);
    else
        insertNode(&((*root)->left),Elem);
}


void DeleteNode(Node **root,DataType dataElem){
    if(*root==NULL)
        return;
    else if((*root)->data==dataElem){
        Node *p=*root;
        if((*root)->left==NULL)
            *root=(*root)->right;
        else if((*root)->right==NULL)
            *root=(*root)->left;
        else{
            Node *qTemp=p->left;
            while(qTemp->right){
                p=qTemp;
                qTemp=qTemp->right;
            }
            (*root)->data=qTemp->data;
            if(*root==p)
                p->left=qTemp->left;
            else
                p->right=qTemp->left;
            p=qTemp;
        }
        free(p);
    }
    else if((*root)->data<dataElem)
        DeleteNode(&((*root)->right),dataElem);
    else
        DeleteNode(&((*root)->left),dataElem);
}


void midTreeNode(Node *root){
    if(root==NULL)
        return;

    midTreeNode(root->left);
    printf("%d	",root->data);
    midTreeNode(root->right);
}

Node *searchNode(Node *root,DataType key){
    if(root==NULL)
        return NULL;
    if(root->data==key)
        return root;
    else if(root->data>key)
        return searchNode(root->left,key);
    else
        return searchNode(root->right,key);
}*/


int main(){
          
   
   /* Node *pRoot=NULL;
    insertNode(&pRoot,50);
    insertNode(&pRoot,30);
    insertNode(&pRoot,10);
    insertNode(&pRoot,80);
    insertNode(&pRoot,60);
    insertNode(&pRoot,90);
    insertNode(&pRoot,100);

    printf("中序遍历:
");
    midTreeNode(pRoot);
    printf("
%d
",*searchNode(pRoot,90));

  system("pause");*/
      int d;
      char c;
      double f1,f2;
      scanf("%f %d %c %f",&f1,&d,&c,&f2);
      printf("%.2f %d %c %.2f",f1,d,c,f2);
      return 0;
}
经验分享 程序员 微信小程序 职场和发展