agenda.cpp
来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 74 行
CPP
74 行
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include"agenda.h"
char initiala='A';
nod* make_nod(char* a,char* b)
{
nod* p;
p=new nod;
p->nume=a;
p->tel=b;
p->stg=0;
p->drt=0;
return(p);
}
nod* insert(nod *r,char* a,char* b)
{
if (r==0) return (make_nod(a,b));
else if (a< r->nume)
r->stg = insert(r->stg,a,b);
else if(a>r->nume)
r->drt=insert(r->drt,a,b);
return(r);
}
void inordine(nod* r)
{
if(r!=0){
inordine(r->stg);
printf(" %s:",r->nume);
printf(" %s\n",r->tel);
inordine(r->drt);
}
}
nod* search(nod* r,char* k)
{
if (r==0) return NULL;
else if (strcmp(k,r->nume)<0)
return ( search(r->stg,k) );
else if (strcmp(k,r->nume)>0)
return ( search(r->drt,k) );
else return (r);
}
nod* removeGreatest(nod*& r)
{
nod* p;
if( r->drt==0 ) {
p = r;
r = r->stg;
return p;
}
else return removeGreatest(r->drt);
}
void deleteRoot(nod*& rad)
{
nod* p = rad;
if(rad->stg==0) rad = rad->drt;
else if(rad->drt==0) rad = rad->stg;
else {
rad = removeGreatest (rad->stg);
rad->stg = p->stg;
rad->drt = p->drt;
}
delete p;
}
void deletep(nod*& rad,char* a)
{
if(rad==0)
printf("Eroare: persoana cu numele %s nu este in arbore!", a);
else if(strcmp(a,rad->nume)<0) deletep(rad->stg,a);
else if(strcmp(a,rad->nume)>0) deletep(rad->drt,a);
else deleteRoot(rad);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?