У меня есть список связанных списков телефонной книги с именами, именами и значениями. Я могу распечатать их в том порядке, в котором они были созданы, но не по значению. Как я могу это изменить? Если вам нужно увидеть что-нибудь еще в коде, дайте мне знать, но эта функция является моей главной заботой.Как сделать список ссылок распечатать его содержимое в алфавитном порядке?
ostream& operator<<(ostream& out, const PhoneBook& p) // out stream
{
if(p.head==NULL)
{
cout << "is empty";
}else
{
PhoneBookItem* item = p.head;
for(int i=0; i < p.num; i++)
{
cout << item->lastname<< " ";
cout << item->firstname<< " : ";
cout << item->phone<<endl;
item = item->next;
}
}
return out;
ли вы имеете в виду его печати в алфавитном порядке или что-то? Потому что, если вы хотите это сделать, вам нужно будет переупорядочить весь свой список (или выбрать другую структуру данных). –
+1 к тому, что сказал Dgrin91. Используйте карту и сохраняйте значение в качестве ключа. Карта хранит содержимое, отсортированное по ключу. – NotAgain
@ dgrin91, ладно, поэтому я думаю, что мне нужно сделать временную телефонную книгу, чтобы вставить значения, а затем распечатать ее. notgain, извините, но я не знаю, как использовать карты, то есть за пределами моего класса на данный момент. –