| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > односвязный cспиок |
| Автор: Djaconda 28.2.2009, 00:05 | ||
Вот написал код по созданию односвязного списка но что то он неправильно работает. А что понять не могу. Толь при добавлении нового элемента удаляет все предыдушие только вывод неправильно происходит. да и с удалением тоже что то неладное. Подскажите в чем ощибка.
|
| Автор: pan2004 28.2.2009, 00:22 |
| гдето в одной книжке видел рекомендацию не смешивать в одной программе сишные функции ввода/вывода с cin/cout классами. А так в куске связанным с самим связанным списком серьезных ошибок не вижу. |
| Автор: vinick 28.2.2009, 02:07 |
| Я тоже в работе со списком криминала не увидел. Только немного косметики: 1. в searchList нет необходимости продолжать цикл после того как элемент найден. Либо return, либо break. 2. В delAllList надо добавить обнуление countElem. |
| Автор: zim22 28.2.2009, 15:57 | ||||
до return 0; код никогда в жизни не дойдёт. если функция void List::searchList(int index) ищет не значение элемента, а есть ли элемент под номером index, то она работает правильно.
|
| Автор: Djaconda 28.2.2009, 20:12 | ||||
это понятно но от этого роли нет никакой. Элемент index существует и как раз поиск единственное что работает нормально. |
| Автор: 0xDX 1.3.2009, 08:37 |
| За организацию списка 2. - Во первых не шаблонный. - Во вторых ужасный алгоритм.(для примера можешь посмотреть STL, немного проще в QT) - |
| Автор: mes 1.3.2009, 10:41 |
ну за это не стоило "оценку" снижать, и тем более помечать как "во-первых". |
| Автор: pan2004 1.3.2009, 11:29 |
А во первых он пишется под BC++ 3.1. Сомневаюсь, что тот компилятор особо поддерживал шаблоны, кроме того в нем нет STL. Как и Qt на нем тоже запустить не получится. |
| Автор: math64 1.3.2009, 21:35 | ||
Несмотря на это, можно посмотреть код STL или Qt и сделать как там. Вместо шаблонов можно использовать #define |
| Автор: baldina 2.3.2009, 14:02 | ||
| Djaconda, в принципе всё правильно с маленькими оговорками: - в delAllList() не сбрасывается значение countElem. - searchList() индексирует элементы начиная с 1 а не с 0 - интерфейс пользователя у тебя ...ммм.... неочевидный ;) сделай попроще, а то сам поди запутался куда жать и чё должно происходить. вот пример простейшего интерфейса:
2all: с шаблонами в BC3.1 достаточно хорошо, что бы класс Djaconda сделать параметризованным. Боле того, в BC3.1 имелся BIDS - библиотека шаблонных ADT |