2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35
|
|
1 | |
Динамические структуры данных. Создание списков01.03.2017, 19:51. Показов 1745. Ответов 12
Метки нет (Все метки)
Собственно задание: В проекте создать однонаправленный список. Разбить список на два. Точка разрыва - указанный элемент.
Вообще не могу понять как это работает, пропустил много лекций из-за болезни, теперь не могу вникнуть. Может кто-то сделает наброски(ну или вовсе скинет решение ) Буду премного благодарен, спасибо.
0
|
01.03.2017, 19:51 | |
Ответы с готовыми решениями:
12
Динамические структуры данных: деревья Задача на Указатели и динамические структуры данных Динамические структуры данных. Ошибки в функциях Загвоздка с деревом, динамические структуры данных |
02.03.2017, 10:43 | 2 | |||||
Вот на днях баловался. Неуверен что всё правильно, так как делал по своему, но вроде работает:
2
|
2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35
|
|
02.03.2017, 17:47 [ТС] | 3 |
Список вроде разобрался как создавать. Но вот как разбить на 2 - не понял. У вас этого в коде тоже не нашел. Просто выводит число из функции findinlist (не совсем понял как работает)
0
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|
02.03.2017, 18:23 | 4 |
В структуре
list есть переменная data типа int . В функции перебирается каждый объект из списка, сравнивая data текущего объекта с числом, переданным как аргумент функции. Возвращает объект, data которого равна этому числу
0
|
2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35
|
|
02.03.2017, 18:28 [ТС] | 5 |
0
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|
02.03.2017, 18:35 | 6 |
Это, наверное, означает, из 1 списка сделать 2.
В функции: находите кол-во объектов в списке, делите это число на 2. В последнем объекте первой половины, присваиваете next значение nullptr , а возвращаете из функции первый объект второй половины, присваивая его указателю на тип List .Я бы сделал так Реализовать бы это еще... Добавлено через 47 секунд Если не помогут, через 2 часа попробую помочь)
0
|
2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35
|
||||||
02.03.2017, 19:06 [ТС] | 7 | |||||
Чувствую себя, мягко говоря, тупым. У меня просто в голове не укладывается как с ними можно работать то
С массивами все ясно и просто - игра с индексами. В общем вот что я написал ( создание списка ). Разбить на 2 - не смог. Если сможете, помогите) Буду очень благодарен
0
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|||||||||||
02.03.2017, 20:42 | 8 | ||||||||||
Сообщение было отмечено EnjoyC как решение
Решение
0
|
2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35
|
|
02.03.2017, 21:01 [ТС] | 9 |
Либо я не правильно понял задание, но нужно из одного списка получить два, так же? По УКАЗОНОМУ элементу. Я так понимаю что мы вводим элемент, потом функция из 1 структуры(начальной) копирует элементы в другую, как только дошли до указанного елемента то останавливаемся. Вот и получаем 2 списка. Но вот как реализовать - не знаю.
P.S Как воспользоваться вашей функцией так и не понял, какой же я тупой xD
0
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||||||||||||||||
02.03.2017, 21:09 | 10 | |||||||||||||||
Сообщение было отмечено EnjoyC как решение
РешениеList на Node поменяй, а FirstElement это у тебя head .Ну и еще там проверочки дописать нужно... Эту в самом начале:
while() :
Функция делит переданный список наполовину. Последний объект первой половины указывает на NULL. Возвращает первый объект второй половины Добавлено через 4 минуты То бишь: у тебя есть список, в котором 4 объекта. Ты хочешь поделить его на 2 списка. Создаешь указатель на тип данных (на тот, которого типа твои объекты) и присваиваешь ему возвращаемое значение из функции. У тебя после Напиши так:
1
|
2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35
|
|
02.03.2017, 21:14 [ТС] | 11 |
Господи, алилуя, заработало
Добавлено через 52 секунды Спасибо вам, огромное. Ибо я бы такого как я - наврядли вытерпел бы) До этого все темы понимал легко, а тут пропустил 2 лекции и все - тупняк. Ни книги ни форумы не помогали. Сейчас буду сидеть разбираться по пунктам в коде. Еще раз спасибо )
1
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|
02.03.2017, 21:16 | 12 |
Тогда вот это все убираем:
А здесь: Вместо Amount , ставим номер УКАЗАННОГО элемента, который передается аргументом функции.Добавлено через 59 секунд Все когда-то начинали
1
|
2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35
|
|
02.03.2017, 21:19 [ТС] | 13 |
Сейчас переделаю)
Добавлено через 1 минуту Сделал, все работает)
1
|
02.03.2017, 21:19 | |
02.03.2017, 21:19 | |
Помогаю со студенческими работами здесь
13
Программирование списков. Динамические структуры данных. Динамические структуры данных. Программа ввода в структуры и вывода информации из неё. Динамические структуры данных, списковые структуры (надо разобраться что делает программа) Динамические структуры данных. Организация данных в списковые структуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |