![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Alx |
|
|||
|
Unregistered |
Буду очень благодарен за кусочек кода! Такая проблема. Есть 2 одномерных массива. В первом - данные, а во втором номер следующей ячейки первого массива. Нужно отсортировать первый массив (любым, но лучше самым понятным способом) перестовляя цифры вкорого массива. (списки циклические)
3 5 7 2 4 9 6 2 3 4 5 7 6 1 Что я только не пробовал!!! Ну ЛАМЕР Я! ЛА-А-АМЕР!!! |
|||
|
||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Т.е. в итоге должно быть так ?
-------------------- С уважением, г-н Посол. |
||||
|
|||||
| Guest |
|
|||
|
Unregistered |
Не! Должно быть так:
3 5 7 2 4 9 6 5 7 6 1 2 4 3 |
|||
|
||||
| ~FoX~ |
|
||||||||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Нет наверное все таки так
Т.к.
Идея такова: Берем любой алгоритм сортировки, я взял пузырек и сортим не 1 массив, а сразу 2-а
Держи, могешь пользоваться!
Или я че та не врубился Это сообщение отредактировал(а) ~FoX~ - 21.10.2004, 14:54 |
||||||||
|
|||||||||
| Guest |
|
|||
|
Unregistered |
Нее! Идея такова! Первый массив мы не трогаем. Берем первую ячейку первого массиа сравниваем ее со следующей ячейкой (а вот номер следующей ячейки берем из второго массива). Переставляются местами только указатели второго массива.... Только вот по списку можно идти в одну сторону, а следовательно ПУЗИРЕК не работает. (Списки циклические: Указатель последнего элимента указывает на первую ячейку). Вот
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Аа.......аааааа
Ок! Сейчас пока некогда, но по позже запраграммим. Ту би континуе - как говорят наши друзя в америке |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Еёёё....
Так давайка уточним 1. Сравниваем одно число с другим (первого массива) и..........как я понял............если одно больше/меньше другого то меняем местами указатели на числа, так? Если нет, то опиши конрктней. 2. С какого числа начинается сравнение? 3. Если списки у тебя цыкличиские, то опиши критерии выхода из цикла, а то он так и будет мотаться по кругу без остановки. Перестановки будут существовать всегда! 4. В конце ты хочешь получить отсортированный второй массив? 5. Почему по списку можно идти только в одну сторону? Почиму при этом пузырек не работает - он что в разные сторны ходит? 6. Опиши всю задачу целиком, а то че та я вапще запутался!!!! Это сообщение отредактировал(а) ~FoX~ - 21.10.2004, 15:52 |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Ни-че-го не-понял
По какому принципу это сформировано ? Первый массив = a Второй массив = b b[1] = 5, это значит берём a[5] = 4 b[2] = 7, это значит берём a[7] = 6 b[3] = 6, это значит берём a[6] = 9 b[4] = 1, это значит берём a[1] = 3 b[5] = 2, это значит берём a[2] = 5 b[6] = 4, это значит берём a[4] = 2 b[7] = 3, это значит берём a[3] = 7 Т.е. в итоге: 4693527 - где же тут упорядоченность ??? -------------------- С уважением, г-н Посол. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
1. вроде да.
2.,3. Начинать с любого элимента и наверное на нем и заканчивать 4. В конце нужно получить отсортированный первый массив если пройти по второму массиву попорядку 5 По одностороннему списку (а у нас односторонний т.к. у каждого элимента есть указатель только на следующий) можно идти только в одни сторону. А на сколько я знаю ПУЗЫРЕК работает от начала к концу, как видит неправельный элимент - выталкивает его к началу ( вот тут я могу ошибаться) 6. Есть 2 одномерных массива. В первом - данные, а во втором номера следующих ячеек первого массива. Нужно отсортировать первый массив перестовляя цифры второго массива. Мы идем к каждой следующей ячейке вроде какимто таким способом Mas1[Mas2[i]] |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
p0s0l, вот ты взял первую строчку - b[1] = 5, это значит берём a[5] = 4 верно. А потом берем b[5] и.т.д
|
|||
|
||||
| ~FoX~ |
|
||||||||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
2Guest
1.
Тааааааак. Может я под вечер вообще тупить начинаю. Так, во втором массиве содержаться не только указатели на следующее число в первом массиве, но и на следующее число в нем самом, что ли?
Если да то число
Вообще участвовать не будет. 2.
Гык...... 4-6-9-3-5-2-7 Я хреново понял где тут упорядоченность Расскажи мне, откудаво взялась такая чудовая задачка, я если чесно смутно представляю облость применения такой байды! Это сообщение отредактировал(а) ~FoX~ - 21.10.2004, 16:49 |
||||||||
|
|||||||||
| Guest |
|
|||
|
Unregistered |
3 5 7 2 4 9 6
5 7 6 1 2 4 3 Нв вот смотрите. По порядку чередую Первый масив/ второй масив, Первый масив/ второй масив, Первый масив/ второй масив, и.т.д 3/5 переходим к пятим ячейкам, 4/2 переходим ко вторым ячейкам, 5/7 и.т.д Результат должен быть таким. |
|||
|
||||
| Underdark |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 12.7.2004 Где: Ульяновск Репутация: 1 Всего: 2 |
Люди,
P.S. Guest, слушай, а у тебя и в самом деле в начальном массиве ошибка
Это сообщение отредактировал(а) Underdark - 21.10.2004, 17:00 |
||||
|
|||||
| Guest |
|
|||
|
Unregistered |
А! Ну да там ошибочка. Спасибо за пример пойду домой разбираться. А вообще ето один пинктик из домашнего задания в институте с которым я сам не справился. ж-) СПАСИБО!
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Млин ну просил же "всю задачу целиком" описать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |