![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 24.04.2008
Сообщений: 24
|
![]()
Спасибо огромное!!!
Можете хотя бы на словах пояснить,как слить списки(конкретнее,нужно из второго списка вставить элементы в первый) |
![]() |
![]() |
![]() |
#12 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Вот два списка и два временных указателя, которые указывают на первые элементы списков p1, p2. Для слияния делаем новую голову head. Берем минимальный из элементов p1, p2.
head1->n1->n2->n3.... _______p1 head __q _______p2 head2->n1->n2->n3.... Например, p1 - минимальный. Запоминаем его в p p := p1; указатель сразу смещаем - p1 := p1.next а p добавляем в head. q.next = p; q = q.next. n2->n3.... p1 head->n1 ______q _______p2 head2->n1->n2->n3.... как только один из списков кончился. Просто присоедием остаток второго к q. Это без учетов ссылок назад. Их можно будет или делать сразу или пройти по списку еще раз и восстановить. После слияния возвращаем head - указатель на общий список. Последний раз редактировалось alexBlack; 09.05.2008 в 08:18. |
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 24.04.2008
Сообщений: 24
|
![]()
(((НЕ ПОНЯТНО...
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 24.04.2008
Сообщений: 24
|
![]()
Здравствуйте! Вот, что у меня получилось после попыток слияния:
{Процедура слияния списков} procedure Sliyan(head1:Plist); var q,p,head2:Plist; begin q:=head1; p:=head2; while q<>nil do q:=q^.next; while p<>nil do begin q^.next:=p; p:=p^.next; end; end; тут я пытался второй список включить в первый...но программа эту процедуру как будто игнорирует... |
![]() |
![]() |
![]() |
#15 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Ну, хоть попытки были и то радует.
Код:
|
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 24.04.2008
Сообщений: 24
|
![]()
Спасибо огромное за помощь!
Вопрос:если я пошлю вам задачу на паскале,вы сможете её переделать на С++? А то я его не изучал,а писать нужно... |
![]() |
![]() |
![]() |
#17 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
А вот ВАМ НУЖНО изучать C++. А если у Вас нет желания, на форуме есть соответствующий раздел - за разумную цену - что угодно. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Срочно,пожалуйста...паскаль динамич. списки | Никита35 | Помощь студентам | 2 | 07.05.2008 22:48 |
Списки. Паскаль | Demyrg | Помощь студентам | 2 | 10.04.2008 08:20 |
Паскаль. Динамич массивы | ProPaL | Помощь студентам | 6 | 25.03.2008 09:43 |
Помогите, кто чем может. (Паскаль) | KORT | Помощь студентам | 8 | 03.11.2007 13:26 |
Паскаль. Списки | Freem | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 11.05.2007 14:22 |