Albero binario di ricerca per bestseller

Riutilizzate e adattate quanto sviluppato nell'esercizio "Tra a e b" e nell'esercizio "Raccolta di bestseller" in modo da rendere più efficiente la gestione dei dati relativi ai libri più venduti.

Dovete scrivere un programma che legga una sequenza di comandi, tra i seguenti:

La memorizzazione dei dettagli relativi ai bestseller deve essere fatta tramite un albero binario di ricerca.

Non potete fare assunzioni sul numero di bestseller da memorizzare.

I formati di input e output dei comandi + e ? sono gli stessi già descritti nel testo dell'esercizio "Raccolta di bestseller".

Nel comando - data1 data2, le date sono rappresentate nel formato mese/giorno/anno e l'output è dato da una serie di righe, raccolte tra parentesi graffe, ciascuna delle quali riporta i dati essenziali di un bestseller.

Esempio

Eseguendo

./soluzione

avendo nel flusso di ingresso le righe:

+ 1876	Gore Vidal	Random House	4/11/1976	Fiction
+ 23337	Stephen King	Scribner	11/27/2011	Fiction
+ ...and Ladies of the Club	Helen Hooven Santmeyer	Putnam	7/8/1984	Fiction
+ 1st to Die	James Patterson	Little, Brown	3/25/2001	Fiction
+ 2nd Chance	James Patterson	Little, Brown	3/24/2002	Fiction
+ 3rd Degree	James Patterson	Little, Brown	3/21/2004	Fiction
+ 4th of July	James Patterson	Little, Brown	5/22/2005	Fiction
+ 61 Hours	Lee Child	Delacorte	6/6/2010	Fiction
+ A Breath of Snow and Ashes	Diana Gabaldon	Delacorte	10/16/2005	Fiction
+ A Common Life	Jan Karon	Viking	4/29/2001	Fiction
? 6/6/2010
- 1/1/1999 5/19/2005
f

il programma emette sul flusso di uscita:

6/6/2010 - 61 Hours - Lee Child
{
3/25/2001 - 1st to Die - James Patterson
4/29/2001 - A Common Life - Jan Karon
3/24/2002 - 2nd Chance - James Patterson
3/21/2004 - 3rd Degree - James Patterson
}

Esempio

Eseguendo

./soluzione

avendo nel flusso di ingresso le righe:

+ 1876	Gore Vidal	Random House	4/11/1976	Fiction
+ 23337	Stephen King	Scribner	11/27/2011	Fiction
+ ...and Ladies of the Club	Helen Hooven Santmeyer	Putnam	7/8/1984	Fiction
+ 1st to Die	James Patterson	Little, Brown	3/25/2001	Fiction
+ 2nd Chance	James Patterson	Little, Brown	3/24/2002	Fiction
+ 3rd Degree	James Patterson	Little, Brown	3/21/2004	Fiction
+ 4th of July	James Patterson	Little, Brown	5/22/2005	Fiction
+ 61 Hours	Lee Child	Delacorte	6/6/2010	Fiction
+ A Breath of Snow and Ashes	Diana Gabaldon	Delacorte	10/16/2005	Fiction
+ A Common Life	Jan Karon	Viking	4/29/2001	Fiction
? 6/6/2010
- 1/1/2006 5/19/2006
f

il programma emette sul flusso di uscita:

6/6/2010 - 61 Hours - Lee Child
{
}