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

Формат входных данных.
Ввод: В
начальных строках файла построчно располагаются сведения о книгах по формату:
<УДК> <ФИО>
<Название> <Год> <ЧислоЭкземпляров>
где 0 в графе УДК – это
признак окончания ввода.
Затем построчно располагаются
сведения о движении книг по формату:
<КодОперации>
<УДК>
где код операции 1 – возврат,
2 – выдача, 0 – окончание ввода.
Будем считать, что поле
<УДК> уникально для каждой записи и является ключом.
Вывод:
Упорядоченные УДК издания сведения о наличии книг в библиотеке по формату:
<УДК> <ФИО>
<Название> <Год> <ЧислоЭкземпляров>
Пример входных данных:
35 Egorov Kniga7
1998 5
30 Suvorov Kniga6 2009 4
25 Andreev Kniga5 2007 3
15 Sidorov Kniga3 1995 1
40 Fedorov Kniga8 1990 6
20 Miheev Kniga4 1980 2
5 Ivanov Kniga1 2000 3
10 Petrov
Kniga2 2005 2
0
1 40
2 10
1 15
2 25
1 15
0
Пример выходных данных:
5 Ivanov Kniga1 2000 3
10 Petrov Kniga2 2005 1
15 Sidorov Kniga3 1995 3
20 Miheev Kniga4 1980 2
25 Andreev Kniga5 2007 2
30 Suvorov Kniga6 2009 4
35 Egorov
Kniga7 1998 5
40 Fedorov
Kniga8 1990 7