|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
||||||
Слияние двух списков(срочно!)28.10.2011, 21:25. Показов 20175. Ответов 19
Метки нет (Все метки)
Даны два списка, нужно их склеить. Вот, написал, но при комплияции выдаются неведомые мне ошибки. Кто-нибудь из опытных людей может мне помочь, пожалуйста?
Вот код:
.\src\Home4.cpp:68: error: ISO C++ forbids comparison between pointer and integer ..\src\Home4.cpp:74: error: cannot convert `node1*' to `node*' in assignment ..\src\Home4.cpp:75: error: cannot convert `node1*' to `node*' in assignment ..\src\Home4.cpp:77: error: no match for 'operator=' in '*elem1 = elem1->node1::next1' ..\src\Home4.cpp:12: note: candidates are: node1& node1::operator=(const node1&)
0
|
||||||
| 28.10.2011, 21:25 | |
|
Ответы с готовыми решениями:
19
слияние списков
|
|
Заблокирован
|
|||||||
| 28.10.2011, 21:39 | |||||||
|
Первое: сравнение между указателем и целочисленным типом. Второе: не может преобразовать node1*' в `node* при выполнении оператора присваивания. Короче говоря, вы пытаетесь выполнить присваивание переменной одного типа переменной другого типа, когда такое присваивание невозможно. Например, в строке 69 вы сравниваете указатель с переменной целого типа
1
|
|||||||
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
|
| 29.10.2011, 07:18 [ТС] | |
|
А вы можете, пожалуйста, написать саму функцию слияния двух списков на основании моей программы? А то у меня уже голова не работает, 4-ый час сижу, в списках разбираюсь.
Добавлено через 18 минут ребят, ну отзовитесь, пожалуйста... Добавлено через 9 часов 13 минут .....
0
|
|
|
1 / 1 / 0
Регистрация: 28.10.2011
Сообщений: 7
|
|
| 29.10.2011, 10:36 | |
|
Какой алгоритм слияния? Второй список должен идти за первым? Или элементы первого и второго
должны чередоваться? Или как-то еще? Поясните, пожалуйста.
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 29.10.2011, 14:37 | ||||||
|
Rancorous_1942, сделай два списка типа struct node
разные списки всё равно придётся переделывать в одинаковые если просто склеить их, то можно взять голову второго списка и записать в tail->next первого списка у тебя нет tail ? сделай
0
|
||||||
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
|
| 29.10.2011, 23:56 [ТС] | |
|
Вот условие задачи:
Построить стек(односвязный список), реализовать все операции со стеком: Объединить два упорядоченных связанных списка в один через функцию merge(функцию написать самому). Пример: 0 - конец ввода Первый список: 1 2 3 4 0 Второй список: -1 5 9 0 Вывод: 4 3 2 1 9 5 -1 Я читал, что стек обрабатывается сзади, поэтому и вывод соответствующий.
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||
| 30.10.2011, 08:34 | |||||||
|
не, merge - это слияние
нужно два упорядоченных списка слить в один упорядоченный
куда кладёшь, оттуда и снимаешь
0
|
|||||||
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
|
| 01.11.2011, 01:21 [ТС] | |
|
а подробнее, пожалуйста?
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 01.11.2011, 02:33 | ||||||
|
похоже, тут конечный автомат нужен
один из стеков может закончиться в то время, когда во втором стеке есть ещё элементы если просто на флажках делать, получается запутанный код
0
|
||||||
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
||||||
| 06.11.2011, 12:44 [ТС] | ||||||
|
Никаких тут конечных автоматов не надо. Сам я написал слияние. Теперь такой вопрос, как сам процесс слияния сделать функцией? Только напишите, пожалуйста, готовую программу(правильно переделанную из моей).
0
|
||||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||
| 06.11.2011, 13:32 | |||
это может быть нужно только для получения из них упорядоченного списка из списков 1 2 3 4 5 и 2 4 6 должен получиться список 1 2 2 3 4 4 5 6
0
|
|||
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
|
| 07.11.2011, 18:55 [ТС] | |
|
Упорядоченность списков - здесь формальность. И вы не правы. Мы работает со стеками, которые обрабатываются сзади(и именно так написано в учебнике "Как программировать на С++" Дейтеля.
Поэтому, из списков(например): 2 3 4 5 0 -1 12 0 , где 0 - признак конца ввода(согласно моему коду), должно получится: -1 12 2 3 4 5 А мне требуется написать просто функцию merge, только я не знаю как.
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||
| 07.11.2011, 19:13 | |||||||||
список, заканчивающийся нулём, не может содержать нулевой элемент это лишнее ограничение
0
|
|||||||||
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
|
| 08.11.2011, 09:40 [ТС] | |
|
Вы можете просто написать, а не давать мне откровенно ненужные в данный момент советы?) Я же написал, что код полностью рабочий, можете сами проверить, у меня лишь проблема с организацией функции и все! Меня не волнует, зря я прокручиваю список сзади или нет, как написано в учебнике - я так и сделал. Если не можете помочь, то скажите, я не буду зря питать надежд.
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 08.11.2011, 09:59 | ||
просто я не думаю, что Дейтел просто так написал, что списки упорядоченные и для развития полезно их слить в упорядоченный список
0
|
||
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
|
| 08.11.2011, 16:35 [ТС] | |
|
Я итак новичок. Значит, помочь вы не в силах? Понял, спасибо.
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
|
| 10.11.2011, 18:04 [ТС] | |
|
Тут может кто-нибудь помочь?
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2010
Сообщений: 59
|
|
| 14.11.2011, 18:42 [ТС] | |
|
Всем "знатокам" "спасибо". Никто ничем так и не помог, кроме ненужных "советов". Я решил все сам.
0
|
|
|
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
|
|||||||||||||||||
| 08.02.2013, 02:10 | |||||||||||||||||
|
Например:
0
|
|||||||||||||||||
| 08.02.2013, 02:18 | |
|
Не по теме: прошло полтора года
0
|
|
| 08.02.2013, 02:18 | |
|
Помогаю со студенческими работами здесь
20
Списки: реализовать слияние трёх списков в один Слияние двух файлов по алгоритму: цифра вставляется после двух символов Как из двух однонаправленных списков создать третий, который состоит из нечетных элементов предыдущих двух? Слияние двух массивов Слияние двух векторов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|