|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.04.2012, 13:50 | #1 |
Регистрация: 14.03.2012
Сообщений: 9
|
Очередь
Заданы 2 непустые очереди; адреса начала и конца первой равны Р1 и Р2, а второй – Р3 и Р4. Элементы каждой из очередей упорядочены по возрастанию (в направлении от начала очереди к концу). Объединить очереди в одну с сохранением упорядоченности элементов. Вывести указатели на начало и конец полученной очереди. Операции выделения и освобождения памяти не использовать, поля Data не изменять.
|
04.04.2012, 13:51 | #2 |
Регистрация: 14.03.2012
Сообщений: 9
|
Помогите хотя бы понять. Не могу сделать.
|
04.04.2012, 14:37 | #3 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Почитай про сортировку слиянием. Тебе тоже надо слить два отсортированных массива в один, но только не копируя их в новый масив, а переставляя ссылки её элементов.
Последний раз редактировалось ds.Dante; 04.04.2012 в 14:39. |
04.04.2012, 15:20 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ага. забавная задачка. ds.Dante прав (что, в общем то, из задания видно) - тут нужно манипулировать ИСКЛЮЧИТЕЛЬНО ссылками на элементы.
Артём, давайте вашу реализацию очередей (не забудьте обеспечить из заполнение, желательно автоматическое, причём очереди должны быть обязательно упорядочены изначально!). Я прикину на досуге, как там попроще с указателями разобраться. Интуитивно чувствую, что это в коде не должно быть сильно сложным! |
04.04.2012, 21:51 | #5 |
Регистрация: 14.03.2012
Сообщений: 9
|
Я на выходных сделаю свои наброски и выложу тогда)
|
04.04.2012, 22:10 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
P.S. Зачем такая глупость, ведь есть LINQ... Прихоть преподавателя?
I'm learning to live...
|
|
05.04.2012, 09:47 | #7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
да, беру свои слова о помощи обратно - у Вас преподаватель знает толк в извращениях! А точно в C# это нужно сделать? не в Паскаль, не в C - именно в C# ?! |
||
05.04.2012, 10:14 | #8 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 822
|
Указатели и не только в C#. Конечно, ни один хороший программист .NET работать с указателями не будет, так поставить задание мог преподаватель, который не знает C# или знает недостаточно. На месте студентов заставил бы его пересмотреть задания, опираясь на технологии языка и его паттерны.
Не давай организму поблажки, каждый день тренируй его в шашки..
|
05.04.2012, 10:28 | #9 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
|
05.04.2012, 10:50 | #10 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 822
|
ds.Dante, AddRange().Sort() каждая операция практически оптимально(достаточно посмотреть в отладчике как это происходит). Если память столько важна, то использовать следует языки более низкого уровня, сам .Net так обладает меньшей производительностью из-за своей архитектуры ( JIT и т.д.). Есть модуль от которого требуется максимальная производительность? Тогда пиши dll на C и подрубай к проекту.
Не давай организму поблажки, каждый день тренируй его в шашки..
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очередь Си | svetikzo | Помощь студентам | 0 | 23.01.2010 10:03 |
Очередь C++ | svetikzo | Помощь студентам | 2 | 23.01.2010 09:53 |
Очередь | skiffter | Помощь студентам | 2 | 03.12.2009 17:39 |
Очередь | Юлькин | Общие вопросы C/C++ | 4 | 30.05.2009 16:00 |