试从空树开始,画出按以下次序向2-3树,即3阶B-树中插入关键码的建树过程:20,30,50,52,60,68,70.

发布时间:2019-08-10 21:49:45

试从空树开始,画出按以下次序向2-3树,即3阶B-树中插入关键码的建树过程:20,30,50,52,60,68,70.

推荐回答

可能是啊,我这边的问题不会发生。 编译器的问题,我这边的VC。 第二,你的输入,数据输入时直接进入16个输入,16个一次性的复制数据直接粘贴在DOS下运行,然后尝试它。 改革嘛,横空出世,是错误的,一个很小的地方,和郁闷。 VC。 ,包括 使用命名空间std; 结构节点 {节点(INT I,字符*项目2):数据(I) ,DATA2(ITEM2),左(NULL),右(NULL){} int数据; 字符* DATA2; 节点离开; / /左子节点节点*权; / /遍历右子节点无效序(节点?*&根)/ /满足上升的输出 {(root! = NULL) /> {序(根目录 - >左); 法院<数据< DATA2 << endl; 序(根目录 - >右); } } 无效插入(节点?*&指针,诠释项目,焦炭项目2 [10])/ /插入在搜索树中的元素 { />(PTR == NULL) PTR =新的节点(项目,“项目2”); 否则,如果(项目数据)插入(PTR->左,项目, ITEM2); 其他插件(PTR->右键,项目,项目2); } 节点和findy(节点?*指针,项目)/ /查找元素肯定存在在搜索树中,并返回其参考 {(PTR - >数据==项)返回指针; 否则,如果(项目; PTR->数据) findy(PTR->左项); 其他findy(PTR->右键项); } 无效DELE(节点* PTR)/ /删除值项目的结点 {(PTR->离开是什么== NULL &&指针向右== NULL) PTR = NULL; 否则,如果(PTR - >右键== NULL) PTR =指针 - >左; 其他(PTR->左== NULL) PTR =指针 - >权利; 其他 BR /> {节点* TEMP = PTR->左; PTR PTR->权利; 节点TEMP2 = PTR; 而(TEMP2 - >离开! NULL) TEMP2 = TEMP2>,左; TEMP2 - >左=温度; } } 节点(节点?*指针,INT项目)/ /查找搜索树中的元素,找到返回结指针,你不能找到返回一个空指针。 {(PTR == NULL)返回NULL; (PTR->数据==项)返回指针; 否则,如果(项目数据)发现(PTR->左,项目); 其他(PTR - >项目); } }; / a> 廉政的main() {字符A,B [100] [10]; 整数T,I = 0,J; 法院<< “输入节点的数量:”; CIN >> T cout <<“输入”,“T <<”之间的结,一个回车分开的节点(节点??格式示例,李):“<< endl; CIN >> J >> A >> B [0]; 节点* x =新节点(J,B [0]); (<T-1; i + +) { CIN >> J >> A >> B [i +1]; X->插入(X,J ,B [i +1]); } cout <<“请中序遍历:”<< endl; X->序(X)/ /中序遍历 BR />法院<< \ n输入的节点删除的元素临界值(输入-1程序结束):“; CIN >> J; (j! = -1) /> {节点* T = - >找到(X,J); / /定位节点(t! = NULL) {节点*& Y = X-> findy(X,J); X-> DELE(Y); cout <<“请在序遍历:”<< endl; X->序( X); } 其他 cout <<“请没有”,“J; 法院<<”\ n请输入您要删除的元素临界值(输入节点 - 1程序结束):“; CIN >> J} 返回0; } 附加的测试的数据 7,珍 2,钱 12,魏 3,太阳 5,周 15,汉...... /> 6,武 16日,阳 14日,沉 9,冯 10,陈 11,柱 8,王<BR / 1,赵 13,建 4,李 11 10 11 /> 2 13 这些数据是正确的。看中序遍历输出,输出的关键字递增安排,展示出一种二叉排序树。
以上问题属网友观点,不代表本站立场,仅供参考!