[Noti-aed] tpl3 - victoria favre - createab

Victoria Favre victoriafavre7 en gmail.com
Jue Nov 9 19:48:09 -03 2023


void createab(btree<int> &B, btree<int>::iterator n, list<int> &abpos,
list<int> &vals) {
  if (abpos.empty() || vals.empty()) return; // termina si alguna de
las listas esta vacia

  //tomo el primer elemento de cada lista
  int pos = abpos.front();
  int val = vals.front();
  // elimino el primer elemento de cada lista
  abpos.pop_front();
  vals.pop_front();

  if (n == B.end()) { // si llego al final inserto un nuevo nodo
    n = B.insert(n, val);
  } else {
    *n = val; //si no llego al final actualizo el valor
  }

  if (pos * 2 + 1 == abpos.front()) { // si la siguiente posicion es
el hijo izquierdo, llamo para el hijo izq
    createab(B, n.left(), abpos, vals);
  }
  if (pos * 2 + 2 == abpos.front()) { // si la siguiente posicion es
el hijo derecho, llamo para el hijo derecho
    createab(B, n.right(), abpos, vals);
  }
}
//---:---<*>---:---<*>---:---<*>---:---<*>---:---<*>
void createab(btree<int> &B, list<int> &abpos, list<int> &vals) {
  createab(B, B.begin(), abpos, vals);
}
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: victoriafavre-createab.cpp
Type: application/octet-stream
Size: 1622 bytes
Desc: no disponible
URL: <http://venus.santafe-conicet.gov.ar/pipermail/noti-aed/attachments/20231109/f0ca2247/attachment.obj>


Más información sobre la lista de distribución Noti-AED