![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
![]()
вопрос вот в чем,есть связный список,все работает,но элементы выводит почему-то не с первого,а с последнего,как это дело поправить?
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
Это надо бы поправить...
Зачем вам параметры конструктора, если вы их не используете? А по теме - надо добавлять в конец списка, а вы добавляете в начало. Сделайте функцию, которая возвращает последний элемент списка. Если вернет null, тогда добавляйте в начало, если вернет элемент, тогда добавьте к этому элементу. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
![]()
Спасибо , понял , ещё такой вопрос , а точнее просьба - посоветуйте хорошую статью или литературу на эту тему , потому что эта тема довольно тяжёлая и трудно даётся , хотелось бы углубиться
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
![]()
А что то более существенное есть , а то статья в википедии явно не раскрывает это тему в необходимом объеме
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
![]()
Вот видео-ролик забацал.
Смотри видео 7 раз! Т.к. с первого раза ты больше половины информации просто не воспримешь (я по себе сужу). Я запускаю программу в режиме отладки... Всякий раз анализируй код програмы, а также смотри на сами значения переменных: чему равны "data" и "next" (постоянно смотри на значения этих переменных). Обращай внимание на схему рядом. И ещё одно, у тебя в коде нет явно выраженных имён узлов списка ("h1","h2","h3","h4") - я это сделал у себя чтобы было более понятны связи между узлами, а также легче было бы обратится к 4-му узлу (удалить его с помощью "delete h3"). В противном случае, мне нужно было бы вводить новую ссылку ("temp=first"), шагать до 4-го узла и после чего удалять его... Что касается твоего кода, то у тебя будет просто выделение памяти под узел, заполнение его данными и встраивание в общую цепочку https://www.youtube.com/watch?v=Y52N...ature=youtu.be Последний раз редактировалось ura_111; 28.10.2017 в 03:37. |
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
![]()
Я сейчас тебя обрадую (или огорчу), но это не возможно. Нет такой книги, где будут расписаны все приёмы работы со списком (а вернее списками, т.к. их разновидностей очень много существуют). В книгах показано создание/удаления нового узла и как сделать один шаг по цепочке. Всё!
Всё остальное (постройка топологии списка и контроль за ней во время работы программы) - это творчество самого программиста. Например, что значит "вставка нового узла в середину списка": 1.jpg Ну и так далее (по смыслу)... p.s.: в принципе можешь поискать примеры реализации списка на этом форуме. Скорей всего ты не первый кто решает подобную задачу... Но без понимания сути списков (как он работает) ты не сможешь ничего модифицировать под себя... Поэтому я советую тебе, прежде чем приступать к своей задаче, порешать небольшие (придуманные тобой) задачки-тренажёры. Например, "есть список, удалить узел с data=5" или "вставить новый узел в середину списка", или "вывести на экран узлы у которых data>10".... Придумай дальше сам... А когда будешь себя чувствовать уверенно со списками, тогда и перейдёшь к решению своей задачи. И ещё одно, у тебя же интернет под рукой, - активно им пользуйся. Перечитывай по 3-5 раз один и тот же материал по теме списков (с первого раза половину материала просто пропускаешь - это я по себе сужу), перенабирай код у себя и с ним экспериментируй... Последний раз редактировалось ura_111; 29.10.2017 в 17:46. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связный список | InKo1 | Общие вопросы C/C++ | 4 | 06.03.2012 01:11 |
Связный список | InKo1 | Помощь студентам | 0 | 22.12.2011 02:08 |
Связный список | GripEnemy | Visual C++ | 2 | 08.12.2011 16:19 |
Связный список | batman01 | Общие вопросы C/C++ | 1 | 15.10.2011 01:31 |
связный список | xeops | Visual C++ | 6 | 30.09.2011 09:39 |