0 / 0 / 0
Регистрация: 13.12.2014
Сообщений: 13
|
|
1 | |
Слияние двух упорядоченных списков04.01.2015, 12:27. Показов 2303. Ответов 4
Метки нет (Все метки)
Всем привет!
Можете подсказать как делать? Условие: Провести слияние двух упорядоченных списков. В качестве элементов первого списка взять буквы фамилии (Щербаков), в качестве элементов второго списка взять буквы имени (Иван).
0
|
04.01.2015, 12:27 | |
Ответы с готовыми решениями:
4
Слияние двух односвязных упорядоченных по неубыванию линейных списков Слияние двух упорядоченных массивов. Слияние однонаправленных динамических списков Слияние двух файлов. type FI:=file of integer; |
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
|
|
04.01.2015, 17:04 | 2 |
0
|
0 / 0 / 0
Регистрация: 13.12.2014
Сообщений: 13
|
|
04.01.2015, 18:57 [ТС] | 3 |
нет, не так!
вот аналогичный пример: Составим первый список из упорядоченных букв фамилии: веенорст Пусть head1 указывает на первый элемент “в” этого списка. Пусть p1 – указатель на текущий элемент этого списка. Составим второй список из упорядоченных букв имени: аадеклнрс Пусть head2 указывает на первый элемент “а” этого списка. Пусть p2 – указатель на текущий элемент этого списка. Пусть head3 указывает на первый элемент нового списка. Сначала head3 = nil Пусть p3 – указатель на текущий элемент нового списка. Пусть каждый элемент списков представляет из себя структуру с полями: data – информационная часть, next – указатель на следующий элемент списка. Установим текущие указатели на начала списков: P1 := head1; P2 := head2; Проверяем P1^.data <= P2^.data? нет. И Head3 = nil, а значит head3 := p2; p3 := p2; P2 := p2^.next Получаем третий список: а Проверяем P1^.data <= P2^.data? нет. Значит p3^.next := p2; p3 := p2; P2 := p2^.next Получаем третий список: аа Проверяем P1^.data <= P2^.data? да. Значит p3^.next := p1; p3 := p1; P1 := p1^.next Получаем третий список: аав Проверяем P1^.data <= P2^.data? нет. Значит p3^.next := p2; p3 := p2; P2 := p2^.next Получаем третий список: аавд Проверяем P1^.data <= P2^.data? да. Значит p3^.next := p1; p3 := p1; P1 := p1^.next Получаем третий список: аавде Проверяем P1^.data <= P2^.data? да. Значит p3^.next := p1; p3 := p1; P1 := p1^.next Получаем третий список: аавдее Проверяем P1^.data <= P2^.data? нет. Значит p3^.next := p2; p3 := p2; P2 := p2^.next Получаем третий список: аавдеее Проверяем P1^.data <= P2^.data? нет. Значит p3^.next := p2; p3 := p2; P2 := p2^.next Получаем третий список: аавдееек Проверяем P1^.data <= P2^.data? нет. Значит p3^.next := p2; p3 := p2; P2 := p2^.next Получаем третий список: аавдееекл Проверяем P1^.data <= P2^.data? да. Значит p3^.next := p1; p3 := p1; P1 := p1^.next Получаем третий список: аавдеееклн Проверяем P1^.data <= P2^.data? нет. Значит p3^.next := p2; p3 := p2; P2 := p2^.next Получаем третий список: аавдеееклнн Проверяем P1^.data <= P2^.data? да. Значит p3^.next := p1; p3 := p1; P1 := p1^.next Получаем третий список: аавдеееклнно Проверяем P1^.data <= P2^.data? да. Значит p3^.next := p1; p3 := p1; P1 := p1^.next Получаем третий список: аавдеееклннор Проверяем P1^.data <= P2^.data? нет. Значит p3^.next := p2; p3 := p2; P2 := p2^.next Получаем третий список: аавдеееклннорр Проверяем P1^.data <= P2^.data? да. Значит p3^.next := p1; p3 := p1; P1 := p1^.next Получаем третий список: аавдеееклнноррс Проверяем P1^.data <= P2^.data? нет. Значит p3^.next := p2; p3 := p2; P2 := p2^.next Получаем третий список: аавдеееклнноррсс P2 = nil, а значит второй список закончился. Добавим остаток первого списка к новому списку. Значит p3^.next := p1 Получаем третий список: аавдеееклнноррсст
0
|
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
|
|
05.01.2015, 11:52 | 4 |
INShcherbakov, судя по ручной трассировке, которую вы выполнили, вам вряд ли нужна чья-то помощь. В списках вы уж точно разбираетесь.
0
|
0 / 0 / 0
Регистрация: 13.12.2014
Сообщений: 13
|
|
05.01.2015, 19:03 [ТС] | 5 |
Это не я делал, поэтому и прошу помощи.
0
|
05.01.2015, 19:03 | |
05.01.2015, 19:03 | |
Помогаю со студенческими работами здесь
5
Из двух упорядоченных одномерных массивов (длины K и N) сформируйте одномерный массив размером K+N, упорядоченный в обратную сторону Слияние двух упорядоченных списков в один упорядоченный Слияние упорядоченных списков в третий (найдите ошибку) слияние двух упорядоченных массивов в один упорядоченный Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
|
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
|
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
|
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
|
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач.
. . .
|
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
|
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
|
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
|
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
|
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
|
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|