a790albe.cpp

来自「quinto esempi vari per c++ (schemi base)」· C++ 代码 · 共 67 行

CPP
67
字号
#include <iostream>
#include <fstream>

using namespace std;

typedef int Tipo;

struct Tnodo
{
  Tipo info;
  Tnodo *sin, *des;
};

void inserisci(Tnodo*&, Tnodo*);
void InOrdine(Tnodo*);
void EliminaAlbero(Tnodo*&);


int main () {
  Tnodo *albero=NULL, *ptr;
  ifstream fin("lista.txt");
  cout << "\nDati letti dal file:\n";
  Tipo n;
  while (fin >> n) {
    cout << n << " ";
    ptr = new Tnodo;
    ptr->info = n;
    ptr->sin = ptr->des = NULL;
    inserisci(albero,ptr);
  }
  fin.close();
  cout << "\nVisita InOrdine:\n";
  InOrdine(albero);
  EliminaAlbero(albero);
  return 0;
}


void inserisci(Tnodo*& radice, Tnodo* elemento) {
  if (radice)
    if (radice->info >= elemento->info)
      inserisci(radice->sin,elemento);
    else
      inserisci(radice->des,elemento);
  else
    radice = elemento;
}


void InOrdine(Tnodo* radice) {
  if (radice) {
    InOrdine(radice->sin);
    cout << radice->info << endl;
    InOrdine(radice->des);
  }
}


void EliminaAlbero(Tnodo*& radice) {
  if (radice) {
    EliminaAlbero(radice->sin);
    EliminaAlbero(radice->des);
    delete radice;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?