版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构实验指导2013 I 2014学年 第 2 学期姓 名:学 号:班 级:指导教师:潍坊学院计算机工程学院201468预备实验C语言的函数数组指针结构体知识一、实验目的1、复习c语言中函数、数组、指针和结构体的概念。2、熟悉利用C语言进行程序设计的一般方法。二、实验内容和要求1、调试程序:输出100以内所有的素数(用函数实现)#in clude<stdio.h>/*判断一个数是否为素数 */int isprime(i nt n)for(int m=2;m*m<=n;m+)if(n %m= =0) return 0;return 1;/*输出100以内所有素数*/int
2、mai n()int i;for(i=2;i<100;i+)if(isprime(i)= =1) printf(“ 4d' ,i);return 0;运行结果:035711131? IV S3 a* 31341434-73 界 » fcV 71TO7?13'VVTTrHHflIihiv hqi 口皿讪-匾.2、调试程序:对一维数组中的元素进行逆序排列。#in clude<stdio.h>#defi ne N 10int mai n()int aN=0,1,2,3,4,5,6,7,8,9,i,temp;printf( the original Arra
3、y is:n ”);for(i=0;i<N;i+)printf( %4d",ai);for(i=0;i<N/2;i+)/*交换数组元素使之逆序*/temp=ai;ai=aN-i-1; aN-i-1=temp;printf( hthe changed Array is:n ”); for(i=0;i<N;i+)printf( %4d",ai);return 0;运行结果:把鞍点3、调试程序:在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该 元素即为该二维数组的一个鞍点。要求从键盘上输入一个二维数组,当鞍点存在时,找出来。#in clude&
4、lt;stdio.h>#defi ne M 3#defi ne N 4int mai n()int aMN,i,j,k;printf(请输入二维数组的数据:n”);for(i=0;i<M;i+)for(j=0;j<N;j+)scanf(“ d' ,&aij);for(i=0;i<M;i+)/* 输出矩阵 */for(j=0;j<N;j+)printf( “ %4d' ,aij);printf( n""); for(i=0;i<M;i+)k=0;for(j=1;j<N;j+)/*找出第i行的最大值*/if(ai
5、j>aik)k=j;for(j=0;j<M;j+)/*判断第i行的最大值是否为该列的最小值*/if(ajk<aik)break;if(j=M)/*在第i行找到鞍点*/printf( “ d,%d,%d ),aik,i,k);return 0;运行结果:US 4S 7 4 1? 4Fpm|e riM-r ha* £ n*H>fcjnuH4、调试程序:利用指针输出二维数组的元素。#in clude<stdio.h>int mai n()int a34=1,3,5,7,9,11,13,15,17,19,21,23; int *p;for(p=a0;p&l
6、t;a0+12;p+)if(p- a0)%4= =0) printf( n” “ printf(%4d ” ,*p);return 0;运行结果:5、调试程序:输入10个学生的成绩,每个学生成绩包括学号、姓名和三门课的成绩。要 求打印出三门课的平均成绩及成绩最高者的姓名和成绩。#in clude<stdio.h>#defi ne N 10;struct stude ntchar num6;/*学号 */char name8; /* 姓名 */int score3; /* 成绩 */ float avr; /* 平均成绩 */stuN;int mai n()int i,j,max,m
7、axi,sum;float average;for(i=0;i<N;i+)/* 输入 10 个学生的成绩信息 */printf( “n 请输入第 %d 学生的成绩: n ”,i+1);printf( “学号: ”);scanf(“%s”,stui.num);printf( “姓名 ”);scanf(“%s”,);for(j=0;j<3;j+)printf( “成绩 %d”,j+1);scanf(“%d”,&stui.scorej);average=0;max=0;maxi=0;for(i=0;i<N;i+)/* 计算平均成绩,找出成绩最高的学生*/s
8、um=0;for(j=0;j<3;j+)sum+=stui.scorej;stui.avr=sum/3.0;average+=stui.avr;if(sum>max)max=sum;maxi=i;average/=10;printf( “学号 姓名 成绩 1 成绩 2 成绩 3 平均分 n); for(i=0;i<10;i+)printf( “%8s%10s”,stui.num,);for(j=0;j<3;j+)printf( “%7d ”,stui.scorej);printf( “%6.2fn ”,stui.avr);printf( “平均成绩是:
9、 %5.2fn ”,average);printf(最好成绩的学生是:s,总分是 d”,,max);return 0;运行结果LX汨”沪杠沙qlvxs:VL:丿器i,;睦対齢ErJ!1 SI h z- -2± -2-住工"生M埜”意一月-:1 犖卄舉北越囂唸询"愛04蟄站麥阳鬱貯愛酣輩”鬣IV跆B1毗H104脂血07卅曲 J ., ,J J i 严咚贸;5 5- 1$. A 1 康 -E 目-<1色,.老厝.名 名 名W4钞7|再.?*1|1«4| 缺saIa讒弟勰款.喙awa踹 WF h 电-=t ht'F h 0
10、 s 4±Jlh k-v» 4 F 一、E h H 伍try Y R. J -Y 时 J.- c 剧.7 ¥ 时.rr ¥ 神 J 9 剧 J Y 刀。J 胃 M >ff課 HlEtf“£戸 Htfl:tfHi-lJf« :-主理 生叔声主机存+ “评生X.生;: .#:.;厂;-.!<?'.'.士.Fl.'r.r "3141韦 :, '1 雷st雷3_px貨._>.LVJlJCb f 严Tnu皿 0 g y f ff J JUiUJtZ秦妊农塔旳学土乞沪"儿 W
11、F'EhFITem rtnw “F trp nrwtiwwr,三、实验小结对C语言中函数、数组、指针和结构体的概念,有了进一步的加深。并且可以利用C语言进行初步程序设计。四、教师评语实验一顺序表与链表、实验目的1、掌握线性表中元素的前驱、后续的概念。2、掌握顺序表与链表的建立、插入元素、删除表中某元素的算法。3、对线性表相应算法的时间复杂度进行分析。4、理解顺序表、链表数据结构的特点(优缺点) 。、实验内容和要求1、阅读下面程序,在横线处填写函数的基本功能。并运行程序,写出结果。#in clude<stdio.h>#in clude<malloc.h>#defi
12、 ne ERROR 0#defi ne OK 1#defi ne INIT_SIZE 5/*#defi ne INCREM 5/*typedef int ElemType; /* typedef struct SqlistElemType *slist; /* int len gth;/*int listsize; /*Sqlist;初始分配的顺序表长度*/ 溢出时,顺序表长度的增量*/定义表元素的类型*/存储空间的基地址*/顺序表的当前长度*/当前分配的存储空间*/int InitList_sq(Sqlist *L); /* int CreateList_sq(Sqlist初始化顺序表L,并
13、将其长度设为0*/*L,int n); /*构造顺序表的长度为n*/int ListInsert_sq(Sqlist *L,int i,ElemType e);/*元素之前插入新的元素e */在顺序线性表L中第i个int Prin tList_sq(Sqlist *L); /*输出顺序表的元素*/int ListDelete_sq(Sqlist *L,int i); /* int ListLocate(Sqlist *L,ElemType e); /*删除第i个元素*/查找值为e的元素*/int In itList_sq(Sqlist *L)L->slist=(ElemType*)mal
14、loc(INIT_SIZE*sizeof(ElemType); if(!L->slist) return ERROR;L->le ngth=0;L->listsize=INIT_SIZE;return OK;/*lni tList*/int CreateList_sq(Sqlist *L,int n)ElemType e;int i;for(i=0;i<n;i+) printf("input data %d",i+1); scanf("%d",&e); if(!ListInsert_sq(L,i+1,e) return E
15、RROR;return OK;/*CreateList*/* 输出顺序表中的元素 */int PrintList_sq(Sqlist *L)int i;for(i=1;i<=L->length;i+) printf("%5d",L->slisti-1);return OK;/*PrintList*/int ListInsert_sq(Sqlist *L,int i,ElemType e)int k; if(i<1|i>L->length+1) return ERROR;if(L->length>=L->listsize)
16、L->slist=(ElemType*)realloc(L->slist, (INIT_SIZE+INCREM)*sizeof(ElemType); if(!L->slist)return ERROR; L->listsize+=INCREM;for(k=L->length-1;k>=i-1;k-) L->slistk+1=k;L->slisti-1=e;L->length+;return OK;/*ListInsert*/* 在顺序表中删除第 i 个元素 */int ListDelete_sq(Sqlist *L,int i)if(i&l
17、t;1)|(i>L->length) return ERROR; for(p=i-1;p<->length-1;p+) L->slistp=L->slistp+1;L->length-; return OK;/* 在顺序表中查找指定值元素,返回其序号 */int ListLocate(Sqlist *L,ElemType e)int main()Sqlist sl;int n;printf("please input n:"); /* 输入顺序表的元素个数 */ scanf("%d",&n);if(n&g
18、t;0)printf("n1-Create Sqlist:n");InitList_sq(&sl);CreateList_sq(&sl,n);printf("n2-Print Sqlist:n");PrintList_sq(&sl);elseprintf("ERROR");return 0;算法分析与运行结果please input n:51- Create Sqlist:input data 10input data 25input data 38input data 43input data 562- Pr
19、int Sqlist:0 5 8 3 6Press any key to continue1- Craato Sqlis t: input da;ta 10 input dta 2Sinpi.it drtti 3$ input: dat4 43 input chit占 562- Print Sqllst:05 t 36Press Anyto continue2、为第1题补充删除和查找功能函数,并在主函数中补充代码验证算法的正确性。 算法代码:int ListDelete_sq(Sqlist *L,int i) in t p;if(i<1)|(i>L->le ngth) ret
20、urn ERROR;for(p=i-1;p<L->le ngth_1;p+) L->slistp=L->slistp+1;L->le ngth-;return OK;/*在顺序表中查找指定值元素,返回其序号*/int ListLocate(Sqlist *L,ElemType e)int i=0;while(i<=L->le ngth) &&(L->slisti!=e) i+;if(i<=L->le ngth) return(i+1);elsereturn(-1);3、阅读下面程序,在横线处填写函数的基本功能。并运行程
21、序,写出结果。#in clude<stdio.h>#in clude<malloc.h>#defi ne ERROR 0#defi ne OK 1typedef int ElemType; /* typedef struct LNode /*ElemType data; struct LNode *n ext;LNode,*Li nkList;定义表元素的类型*/线性表的单链表存储*/Lin kListCreateList(i ntn);/ 构 造 顺 序 表 的 长 度*/void Prin tList(Li nkList L); /*输出带头结点单链表的所有元素*/
22、int GetElem(LinkList L,int i,ElemType *e); /*在顺序线性表 L 中,当第 i个元素存在时,将其赋值为e*/LinkList CreateList(int n)LNode *p,*q,*head;int i;head=(L in kList)malloc(sizeof(LNode); p=head;for(i=0;i< n; i+)q=(L in kList)malloc(sizeof(LNode); data %i:",i+1);scan f("%d",& q->data);/*q-> next
23、=NULL;/*p_>n ext=q;/*head-> next=NULL;prin tf("i nput输入元素值*/ 结点指针域置空*/ 新结点连在表末尾*/p=q;retur n head;/*CreateList*/ void Prin tList(L in kList L)LNode *p;p=L->next; /*p指向单链表的第 1个元素*/while(p!=NULL)prin tf("%5d",p->data);p=p->n ext;/*Pri ntList*/int GetElem(LinkList L,int i,
24、ElemType *e)LNode *p;int j=1;p=L->n ext;while(p&&j<i)p=p->n ext;j+;if(!p|j>i)return ERROR;*e=p->data;return OK;/*GetElem*/int mai n()int n ,i;ElemType e;定义指向单链表的指针*/输入单链表的元素个数*/Li nkList L=NULL;/*prin tf("please in put n:”); /*scan f("%d", &n);if(n >0)pri
25、n tf("n1-Create Lin kList:n");L=CreateList (n);prin tf("n2-Pri nt Lin kList:n");Prin tList(L);printf("n3-GetElem from LinkList:n");prin tf("i nput i=");scan f("%d",&i);if(GetElem(L,i, &e)prin tf("No%i is %d",i,e);elseprintf("no
26、t exists");elseprin tf("ERROR");return 0;算法分析与运行结果please in put n:51- Create Lin kList:in put data 1:8in put data 2:6in put data 3:3in put data 4:5in put data 5:42- Print LinkList:8635 43- GetElem from Lin kList:in put i=2No2 is 6Press any key to con ti nueplease input n:S1 Create Lio
27、kList:input d«ta 1 *WInput2-6input d«ta 33 input dm3 1:5 input data 5 =42-Pr int LifikLisi;:863 S 43G«tElem fvan LinkList: input ic2Hq2 is (Prese kuy to cuntinnv4、为第3题补充插入功能函数和删除功能函数。并在主函数中补充代码验证算法的正确性。算法代码int Listlnsert_sq(LNode *L,int i,ElemType e)int k;if(i<1|i>L->le ngth+
28、1)return ERROR;if(L->le ngth>=L->listsize)L->data =(ElemType*)realloc(L->data, (INIT_SIZE+INCREM)*sizeof(ElemType);if(!L->data)return ERROR;L->listsize+=INCREM;定义表元素的类型 */ 线性表的单链表存储 */#include<stdio.h> #include<malloc.h> #define ERROR 0 #define OK 1 typedef int ElemT
29、ype; /* typedef struct LNode /*ElemType data; struct LNode *next;LNode,*LinkList;LinkList CreateList(int n);/*以下为选做实验:5、循环链表的应用(约瑟夫回环问题)n 个数据元素构成一个环,从环中任意位置开始计数,计到m 将该元素从表中取出,重复上述过程,直至表中只剩下一个元素。提示:用一个无头结点的循环单链表来实现 n 个元素的存储。算法代码6、设一带头结点的单链表,设计算法将表中值相同的元素仅保留一个结点。提示:指针p从链表的第一个元素开始,利用指针q从指针p位置开始向后搜索整个链表
30、,删除与之值相同的元素;指针p继续指向下一个元素,开始下一轮的删除,直至p= null为至,既完成了对整个链表元素的删除相同值。算法代码三、实验小结具体的掌握线性表中元素的前驱、后续的概念。以及顺序表与链表的建立、插入元素、删除 表中某元素的算法。并学习了对线性表相应算法的时间复杂度进行分析。四、教师评语实验二栈和队列、实验目的1、掌握栈的结构特性及其入栈,出栈操作;2、掌握队列的结构特性及其入队、出队的操作,掌握循环队列的特点及其操作。、实验内容和要求,运1、阅读下面程序,将函数Push和函数Pop补充完整。要求输入元素序列1 2 3 4 5 e行结果如下所示。#in clude<st
31、dio.h>#in clude<malloc.h> #defi ne ERROR 0#defi ne OK 1#defi ne STACK_INT_SIZE 10 /* #defi ne STACKINCREMENT 5 /* typedef int ElemType; /* typedef structElemType *base;ElemType *top;int stacksize; /*SqStack;存储空间初始分配量*/ 存储空间分配增量*/定义元素的类型*/当前已分配的存储空间*/int In itStack(SqStack *S); /*构造空栈*/in t
32、push(SqStack *S,ElemType *e); /*入栈 */int Pop(SqStack *S,ElemType *e); /* int CreateStack(SqStack *S);/*void Prin tStack(SqStack *S); /*出栈*/创建栈*/出栈并输出栈中元素*/int In itStack(SqStack *S)S->base=(ElemType *)malloc(STACK_INT_SIZE *sizeof(ElemType);if(!S->base) return ERROR;S->top=S->base;S->
33、stacksize=STACK_INT_SIZE;return OK;/*InitStack*/int Push(SqStack *S,ElemType e)/*Push*/int Pop(SqStack *S,ElemType *e)/*Pop*/int CreateStack(SqStack *S)int e;if(InitStack(S) printf("Init Success!n");elseprintf("Init Fail!n");return ERROR;printf("input data:(Terminated by inp
34、uting a character)n");while(scanf("%d",&e)Push(S,e);return OK;/*CreateStack*/void PrintStack(SqStack *S)ElemType e;while(Pop(S,&e)printf("%3d",e);/*Pop_and_Print*/int main()SqStack ss;printf("n1-createStackn");CreateStack(&ss);printf("n2-Pop&Pr
35、intn");PrintStack(&ss);return 0;?体现了栈的什么算法分析:输入元素序列 1 2 3 4 5 ,为什么输出序列为 5 4 3 2 1 特性?2、在第 1 题的程序中,编写一个十进制转换为二进制的数制转换算法函数(要求利用栈来 实现),并验证其正确性。实现代码void conveshen(SqStack *S) ElemType n,h;int m=0,k=0;InitStack(S);printf("Input elementn");scanf("%d",&n);while(n)m+;Push(S,
36、n%2);n=n/2;while(k<m)k+;Pop(S,&h); printf("%d",h);int main()SqStack S;conveshen(&S);printf("n");3、阅读并运行程序,并分析程序功能。#in clude<stdio.h>#in clude<malloc.h>#in clude<stri ng.h>#defi ne M 20#defi ne elemtype char typedef structelemtype stackM;int top;stack
37、no de;void in it(stack node *st);void push(stack node *st,elemtype x); void pop(stack node *st);void in it(stack node *st)st->top=0;void push(stack node *st,elemtype x)if(st->top=M)prin tf("the stack is overflow!n"); elsest_>top=st_>top+1; st->stackst->top=x;void pop(stac
38、k node *st)st->top=st->top-1;int mai n()char sM;int i;prin tf("create a empty stack!n"); stack node *sp;sp=malloc(sizeof(stack no de); ini t(sp);prin tf("i nput a expressi on:n ”); gets(s);for(i=0;i<strle n(s);i+)if(si='(') push(sp,si);if(si=')') pop(sp); if(s
39、p->top=0)prin tf("'('match')'!n");elseprintf("'('not match')'!n");return 0;输入:2+(c-d)*6-(f-7)*a)/6运行krrvAtc a enpty s t ac kfinput a eKpram ion ifl-(Ce-d>*6-Ctz3-x>z2* <Jnot natch* >* !hmss «nv kev to cent in<La输入:a-(c-d)*6-(
40、s/3-x)/2运行c rertt e « enptst«c k? input a2d 昭一(£?* 业*<*not natch1>*Pres Rn# key to cent intis程序的基本功能:以下为选做实验: 4、设计算法,将一个表达式转换为后缀表达式,并按照后缀表达式进行计算,得出表达式 得结果。实现代码5、假设以带头结点的循环链表表示队列, 并且只设一个指针指向队尾结点 (不设队头指针) 试编写相应的置空队列、入队列、出队列的算法。实现代码:三、实验小结基本掌握栈的结构特性及其入栈,出栈操作;以及队列的结构特性及其入队、出队的操作, 掌握
41、循环队列的特点及其操作四、教师评语实验三 串的模式匹配一、实验目的1 、了解串的基本概念2 、掌握串的模式匹配算法的实现二、实验内容和要求1 、阅读并运行下面程序,根据输入写出运行结果。 #include<stdio.h>#include<string.h>#define MAXSIZE 100typedef structchar dataMAXSIZE;int length;SqString;串的比较 */int strCompare(SqString *s1,SqString *s2); /*void show_strCompare();void strSub(Sq
42、String *s,int start,int sublen,SqString *sub);/* 求子串 */void show_subString();int strCompare(SqString *s1,SqString *s2)int i;for(i=0;i<s1->length&&i<s1->length;i+) if(s1->datai!=s2->datai) return s1->datai-s2->datai;return s1->length-s2->length;void show_strCompa
43、re()SqString s1,s2;int k;printf("n*show Compare*n");printf("input string s1:");gets(s1.data);s1.length=strlen(s1.data);printf("input string s2:");gets(s2.data);s2.length=strlen(s2.data);if(k=strCompare(&s1,&s2)=0)printf("s1=s2n");else if(k<0) printf
44、("s1<s2n");else printf("s1>s2n");printf("n*show over*n");void strSub(SqString *s,int start,int sublen,SqString *sub) int i;if(start<1|start>s->length|sublen>s->length-start+1) sub->length=0; for(i=0;i<sublen;i+) sub->datai=s->datastart+i
45、-1;sub->length=sublen;void show_subString()SqString s,sub;int start,sublen,i; printf("n*show subString*n"); printf("input string s:");gets(s.data); s.length=strlen(s.data);printf("input start:"); scanf("%d",&start);printf("input sublen:"); sca
46、nf("%d",&sublen); strSub(&s,start,sublen,&sub);if(sub.length=0) printf("ERROR!n");else printf("subString is :"); for(i=0;i<sublen;i+) printf("%c",sub.datai); printf("n*show over*n");int main()int n;do printf("n-String-n"); pr
47、intf("1. strComparen"); printf("2. subStringn");printf("0. EXITn"); printf("ninput choice:"); scanf("%d",&n); getchar(); switch(n)case 1:show_strCompare();break;case 2:show_subString();break; default:n=0;break;while(n);return 0;运行程序输入:1studentstu
48、dents2Computer Data Stuctures104运行结果:"F:C + +WENJIANDebug|§ 三用灼"1. strCompare2- subString0. EXITin put choice:i*«show Compare* input string slxstudent input七 sti*insf s2 : students sl<s2*sliow ovep+*-sStrin9-1 strConpare2- suhStving乩 EXITinput cho ice:2*eshow substring*in put
49、string s: Cojnputei* Data Structures Input «t art:10input sublen:4substring is :Data*show over*亠一Strin3i. stConpairesubstring3, EXITinput choice:2、实现串的模式匹配算法。补充下面程序,实现串的BF和KMP算法。#in clude<stdio.h> #in clude<stri ng.h>#defi ne MAXSIZE 100 typedef structchar dataMAXSIZE;int len gth;Sq
50、Stri ng;int index_bf(SqString *s,SqString *t,int start);void getNext(SqString *t,int next);int index_kmp(SqString *s,SqString *t,int start,int next); void show_i ndex();int in dex_bf(SqStri ng *s,SqStri ng *t,i nt start) int i,j,pos;void getNext(SqString *t,int next)int i=0,j=-1;n ext0=-1;while(i<
51、;t->le ngth)if(j=-1)ll(t->datai=t->dataj)i+;j+; nexti=j;elsej=nextj;int index_kmp(SqString *s,SqString *t,int start,int next)int i,j;if(t->le ngth=O) return(O);i=start;j=0;while(i<s->length &&j<t->length )void showndex()SqStri ng s,t;int k,n extMAXSIZE=O,i;prin tf(&qu
52、ot;n*show in dex*n ”);prin tf("i nput stri ng s:");gets(s.data);s.len gth=strle n( s.data);prin tf("i nput stri ng t:");gets(t.data);t.len gth=strle n(t.data);prin tf("i nput start positi on:”);scan f("%d", &k);prin tf("BF:nthe result of BF is %dn",i
53、ndex_bf(&s, &t,k);getNext (& t, next);prin tf("KMP:n");prin tf(" next:");for(i=0;i<t.le ngth;i+)prin tf("%3d", nexti);prin tf("n ”);printf("the result of KMP is %dn",index_kmp(&s,&t,k,next);prin tf("n*show over*n");int mai
54、 n()show_i ndex();return 0;输入:abcaabbabcabaacbacbaabcabaa运行结果:Ju U Ijb llftM*£f*|put- d售Fill申 上abc-Mbbflib-alMdchuicl>nLib put - t d*lilq t £ A Im. aIui Aiii>j»t h t«rK puiE it tvn = 1UFEk bff ra du It of B-F il ?-医 ho u th iffl r*«IA aftlF Jkjfe" tfr Cfi-fi t ili
55、-hi#三、实验小结通过对算法的运行, 加上思考可以深刻了解串的基本概念。并且可以掌握串的模式匹配算法的建立。四、教师评语实验四 二叉树、实验目的1 、掌握二叉树的基本特性2 、掌握二叉树的递归遍历算法3 、理解二叉树的非递归算法4 、通过二叉树的深度和层次遍历算法,理解二叉树的基本特性二、实验内容和要求1 、阅读并运行下面程序,根据输入写出运行结果,并画出二叉树的形态。#include<stdio.h>#include<malloc.h>#define MAX 20 typedef struct BTNode /* char data ; /* struct BTNo
56、de *lchild;节点结构声明 */ 节点数据 */struct BTNode *rchild ; /*指针 */*BiTree;void createBiTree(BiTree *t) /*先序遍历创建二叉树 */char s;BiTree q; printf("nplease input data:(exit for #)"); s=getche();if(s='#')*t=NULL; return; q=(BiTree)malloc(sizeof(struct BTNode); if(q=NULL)printf("Memory alloc
57、 failure!"); exit(0); q->data=s;*t=q;createBiTree(&q->lchild); /* createBiTree(&q->rchild); /* 递归建立左子树 */ 递归建立右子树 */void PreOrder(BiTree p) /* if ( p!= NULL ) printf("%c", p->data); PreOrder( p->lchild ) ; PreOrder( p->rchild) ;void InOrder(BiTree p) /* if( p!= NULL ) 先序遍历二叉树 */中序遍历二叉树 */InOrder( p->lchild ) ;printf("%c", p->data);InOrder( p->rchild) ;void PostOrder(BiTree p) /* 后序遍历二叉树 */ if ( p!= NULL ) PostOrder( p->lchild ) ;PostOrder( p->rchild) ; printf("%c", p->data);void Preorder_n(Bi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国的疆域与人口复习25张
- 人教版八年级音下册乐期末必背复习知识点
- 沪科版初中九年级物理能源开发和利用
- 高中语文散文部分第2单元捉不住的鼬鼠-时间片论美课件新人教版选修中国现代诗歌散文欣赏
- 2011-2012年LOW-E玻璃市场预测及市场调查分析报告
- 2024至2030年中国孕妇装数据监测研究报告
- 2024至2030年中国喇叭水仙花数据监测研究报告
- 2024至2030年中国卧式聚乙烯贮槽数据监测研究报告
- 2024至2030年中国分立式滤波器数据监测研究报告
- 2024至2030年中国儿童休闲运动服数据监测研究报告
- 足疗店工作人员合同
- 旅馆业设施布局与室内设计考核试卷
- 2024年消防知识竞赛考试题库300题(含答案)
- 2024中国船舶报社公开招聘采编人员1人高频难、易错点500题模拟试题附带答案详解
- 室内装修投标方案(技术方案)
- 法务专员发言稿范文
- 服务营销《(第6版)》 课件全套 郭国庆 第1-14章 服务与服务营销 - 服务文化与顾客关系管理
- 高考地理一轮复习:火炉城市的“热岛效应”探究课件
- 2024-2030年天津市轨道交通行业市场发展分析及发展前景与投资研究报告
- 幼儿园工程建设施工竣工验收与交付方案
- 2024八年级物理下册 第八章 神奇的压强8.1 认识压强教案(新版)粤教沪版
评论
0/150
提交评论