b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

二叉排序树的删除图解_二叉排序树的删除_二叉排序树的删除代码(8)

电脑杂谈  发布时间:2017-01-15 21:02:57  来源:网络整理

if(!num) printf("完成输入!\n");

else insertBST(&T,num);

}while(num);

printf("\n 1: 中序输出");

printf("\n 2: 输入元素");

while(ch==ch)

{

scanf("%d",&ch);

switch(ch){

case 0:

exit(0); /*0--退出*/

case 1:

printf(" 中序遍历输出结果为:\n ");

inorderTraverse(&T); /*1--中序遍历*/

break;

case 2:

printf(" 输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历,否则输出无x :");

scanf("%d",&num); /*3--删除某个结点*/

if(searchBST(T,num,NULL,&p))

{

T=Delete(T,num);

printf(" 删除成功!中序遍历输出:\n ");

inorderTraverse(&T);

-22-

}

else

printf(" 无%d",num);

break;

default:

printf("无此结点\n");

break; /*输入无效字符*/}

}

}

-23-

二叉链表结构c++

#include <iostream>

using namespace std;

class node

{

public:

node(int i):data(i),left(NULL),right(NULL){}

void inorder(node *&root)//中序遍历,符合升序输出

{

if(root!=NULL)

{

inorder(root->left);

cout<<root->data<<' ';

inorder(root->right);

}

}

void insert(node *&ptr,int item) //在查找树中插入元素

{

if(ptr==NULL)

ptr=new node(item);

else if(item<ptr->data)

insert(ptr->left,item);

else insert(ptr->right,item);

}

node *find(node *&ptr,int item) //在查找树中查找元素,找到返回所在结点指针,找不到返回空指针。 {

if(ptr==NULL)

return NULL;

if(ptr->data==item)

return ptr;

else if(item<ptr->data)

find(ptr->left,item);

else find(ptr->right,item);

}

node *&findy(node *&ptr,int item) //在查找树中查找肯定存在的元素,并返回其引用

{

if(ptr->data==item)

return ptr;

else if(item<ptr->data)

findy(ptr->left,item);

-24-

}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-26533-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 王博翔
      王博翔

      司机坐在左边开车艾玛英国拍摄鉴定完毕

    热点图片
    拼命载入中...