Динамические структуры данных

Формат входных данных.
Ввод: В
начальных строках файла построчно располагаются сведения о заявках на
авиабилеты по формату:
<НомерРейса>
<ПунктНазначения> <ФИО> <ДатаВылета>
где 0 в графе НомерРейса – это признак окончания ввода.
Затем построчно располагаются
сведения о добавлении и удалении заявок по формату:
<КодОперации>
<НомерРейса> <ПунктНазначения>
<ФИО> <Дата>
где код операции 1 –
добавление, 2 – удаление, 0 – окончание ввода.
Будем считать, что поле <НомерРейса> уникально для каждой записи и является
ключом.
Вывод:
Упорядоченные по НомеруРейса сведения об оставшихся
заявках по формату:
<НомерРейса>
<ПунктНазначения> <ФИО> <ДатаВылета>
Пример входных данных:
5 Paris Ivanov 2014-12-10
10 Viena Petrov 2015-01-02
2 London Sidorov 2015-03-02
12 Berlin Pavlov 2015-05-06
25 Tokyo
Belov 2014-12-31
7 Sofia Stukov 2015-07-20
6 Moscow
Bulov 2015-10-30
4 Rom Serov 2015-09-12
0
1 11 Gdansk
Suvorov 2015-03-08
1 17 Budapest
Bukin
2015-02-23
2 12 Berlin Pavlov 2015-05-06
2 6 Moscow
Bulov 2015-10-30
1 21 Minsk Sizov 2015-04-08
0
Пример выходных данных:
2 London Sidorov 2015-03-02
4 Rom Serov 2015-09-12
5 Paris Ivanov 2014-12-10
7 Sofia Stukov 2015-07-20
10 Viena Petrov 2015-01-02
11 Gdansk
Suvorov 2015-03-08
17 Budapest
Bukin
2015-02-23
21 Minsk
Sizov 2015-04-08
25 Tokyo
Belov 2014-12-31