child); //先序遍历左子树 preorder(bt->rchild); //先序遍历右子树}}中序 void inorder(bintree bt) //中序遍历根指针为 bt的二叉树{ if (bt!=NULL) { inorder(bt->lchild); //中序遍历左子树 visit (bt); //访问根结点 bt inorder(bt->rchild); //中序遍历右子树}}后序 void preorder(bintree bt) //后序遍历根指针为 bt的二叉树{ if (bt!=NULL) { preorder(bt->lchild); //后序遍历左子树 preorder(bt->rchild); //后序遍历右子树 visit (bt); //访问根结点 bt }} 践题 3 的评分标准( 10 分): ?实现题目要求的算法(共 7 分)。其中?输入 input (1分)?输出 output (1分)?冒泡排序 bubble (5分) ?程序的总体结构、可读性、注释(2分) ?算法分析(1分) 输入输出#include <iostream> #define N5{ using namespace std; structstu[N]; void intput() void output() }冒泡排序算法 viod BubbleSort(List R,int n) {I ntI ,j,temp,endsort; for(i=1;i<=n-1;i++) { endsort=0; for(j=1;j<=n-i-1;j++) {I f(R[j].kry>R[j+1].key) //若逆序则交换记录}{ temp=R[j]; R[j]=R[j+1]; R[j+1]=temp; endsort=1; }} if(endsort==0) break; }}