sub11.cpp
来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 114 行
CPP
114 行
#include<stdlib.h>
#include"g:\\users\\u15\\sda\\subiecte\\arboreb.cpp"
#define DIMMAX 100
int r=1;
typedef Nod* Atom;
struct Coada
{
int head,tail;
Atom vect[DIMMAX];
};
void error(char s[]);
void init(Coada& C);
int isEmpty(Coada C);
void put(Coada& C,Atom a);
Nod* front(Coada& C);
void inordine(Nod*& N);
void afniv(Coada& C,Nod*& N);
void disp(Coada C);
void main()
{
Coada C;
char s[50];
Nod *rad;
clrscr();
rad=creareArbore();
printf("\nArborele parcurs in inordine:");
inordine(rad);
printf("\nArborele parcurs pe nivele :");
init(C);
afniv(C,rad);
getch();
}
void inordine(Nod*& N)
{
Nod *t;
t=N;
if(t!=0)
{
inordine(t->stg);
printf(" %c",t->data);
inordine(t->drt);
}
}
void init(Coada& C)
{
C.head=C.tail=0;
}
int isEmpty(Coada C)
{
return(C.head==C.tail);
}
Nod *front(Coada& C)
{
if(C.tail==C.head)
error("Coada VIDA!");
else
return(C.vect[C.head++]);
}
void put(Coada& C,Atom a)
{
if(C.tail>DIMMAX)
error("Coada PLINA!");
else
{
C.vect[C.tail]=a;
C.tail+=1;
}
}
void afniv(Coada& C,Nod*& N)
{
Nod *p;
put(C,N);printf("%c",N->data);
while(!isEmpty(C)){
p=front(C);
if(p->stg){printf(" %c ",p->stg->data);put(C,p->stg);};
if(p->drt){printf(" %c ",p->drt->data);put(C,p->drt);};
}
}
void error(char s[])
{
printf("\n\tEROARE!\t%s",s);
getch();
exit(1);
}
void disp(Coada C)
{
while(C.head!=C.tail)
{
printf(" %c",front(C));
if(C.tail==C.head)
error("Coada VIDA!");
else
C.head+=1;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?