| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Работа со списками |
| Автор: Ripper 12.11.2006, 15:54 | ||
| Есть такая задача: В файл занести сведения о заработной плате сотрудников некоторой организации в формате: номер отдела, должность, ставка, фамилия, имя, отчество. Создать в памяти кольцевой список из сотрудников организации. Список упорядочить по фамилиям. Обеспечить исправление сведений о сотрудниках, в том числе и изменение числа сотрудников. Я только недавно познакомился со списками поэтому тяжеловато щас они идут. Но я не совсем понимаю само задание. Я создал два типа, один из них TSotrudnik со всеми полями, другой TNode, у которого поле Data: TSotrudnik и соответственно указатель на след. элемент. Но что нужно, сначала завести данные в файл, потом считать данные из файла в список и его отсортировать? Если да то неподскажете как это сделать. Я еле еле разобрался как вообще сделать несколько элементов списка. И темболее сортировка в них же 1)Невыгодна? 2)Мы и не делали её никогда. Ладно еслиб в массиве по алфавиту) А вот что у меня получилось: (работаю я в дельфи в консоли)
Завтра сдавать |
| Автор: TaNK 12.11.2006, 16:21 | ||
могу тебе предложить что старое мое....работа со списком....но без работы с файлами..там есть и удаление и еще кое то..думаю тебе пригодиться....но эо написано на паскале!
у меня там еще кое что есть п окольцевому кажется..если надо напиши! |
| Автор: volvo877 12.11.2006, 16:29 | ||||||
Кстати, не знаю насчет кольцевого (попробую попозже проверить), но обычный односвязный список сортируется элементарно:
Вызывать вот так:
|
| Автор: TaNK 12.11.2006, 19:10 | ||
кольцевой
|
| Автор: Ripper 24.11.2006, 13:34 | ||
Никак я не пойму эти списки. Вот сделал несколько процедур:
Вроде работает нормально, но я без понятия вообще ...брр Непойму я как сделать сортировку, вставку и удаление. Вернее я на сортировке застрял. Ф-ию приведенную для связанного списка обычного тоже нефига не понял Может кто нибудь даст процедуру для моего случая и пояснит как это все работает %( И заодно, нормально ли я создал кольцо.. |