计算机软件技术基础实验报告

发布时间 : 星期六 文章计算机软件技术基础实验报告更新完毕开始阅读

printf(\请输入数据:\); scanf(\,&n); getchar(); insert(n,1); pre(); }

void chudui() { }

void main() { do

{printf(\选择你要的操作入栈出栈入队出队:\\n\); scanf(\,&n); getchar(); switch(n) { case 1: }

printf(\是否继续y/n:\\n\); scanf(\,&frag); getchar(); }while(frag=='y');

{printf(\入栈操作\); push();printf(\);}break; {

printf(\出栈操作\); pop();printf(\);}break; {printf(\入队操作\);

rudui();printf(\);}break; {printf(\出队操作\);

chudui();printf(\);}break; char frag='y';int n; creat(); delet(num); num--; pre();

case 2:

case 3:

case 4:

default:printf(\);

9

}

实验3 二叉树的构造

一、实验目的与基本要求

熟练掌握二叉树的构造方法。

二、实验条件

1.硬件:微机

2.软件:操作系统和C语言系统

三、实验方法

确定存储结构后,上机调试二叉树的构造方法。

四、实验内容

设计一个读入一串整数构成一棵二叉树的程序。 (深度至少为2) 实验代码:

#include #include

struct btnode //二叉树结构体 { };

struct btnode *creatbt(struct btnode *bt,int k) //建立二叉树 {

struct btnode *p,*t;

t=(struct btnode *)malloc(sizeof(struct btnode)); printf(\输入元素(输入时结束所在分枝):\); char b; scanf(\,&b); getchar(); if(b!='0') {

p=(struct btnode *)malloc(sizeof(struct btnode)); p->d=b;p->lchild=NULL;p->rchild=NULL; char d;

struct btnode *lchild; struct btnode *rchild;

10

if(k==0) t=p;

if(k==1) bt->lchild=p; if(k==2)

bt->rchild=p; creatbt(p,1); creatbt(p,2);

}

return t;

}

void pretrav(struct btnode *bt) { if(bt!=NULL) { printf(\,bt->d); pretrav(bt->lchild); pretrav(bt->rchild);

} return;

}

void intrav(struct btnode *bt) { if(bt!=NULL) { intrav(bt->lchild); printf(\,bt->d); intrav(bt->rchild); } return;

}

void postrav(struct btnode *bt) { if(bt!=NULL) { postrav(bt->lchild); postrav(bt->rchild); printf(\,bt->d); } return;

}

int main() {

struct btnode *m;char frag='y'; //前序遍历//中序遍历 //后序遍历 11

}

int s; do {

printf(\请选择\\n1、建立二叉树\\n2、前序遍历\\n3、中序遍历\\n4、后序遍历\\n5、退出\\n\); scanf(\,&s); getchar(); switch(s) { }

case 1:m=creatbt(0,0);break; case 2:pretrav(m);break; case 3:intrav(m);break; case 4:postrav(m);break; default: {

printf(\是否继续\\n y/n\); scanf(\,&frag); getchar();

};break;

}while(frag=='y');

12

联系合同范文客服:xxxxx#qq.com(#替换为@)