вот такая вот задачка. я в этой теме новичкок, ничего не знаю...если кто знает...заранее благодарна...
Составить список из N элементов. Переобозначить ссылки так, чтобы элементы оказались расположенными в обратном порядке.
[C++]Переобозначить ссылки в обратном порядке
Started By qwerty_90, мая 03 2007 18:34
6 ответов в этой теме
#2
Отправлено 05 мая 2007 - 06:10
Если я правильно понимаю ... то это просто реверсный массив ...
То есть стандарно для перебора элементов массива ты используешь выражение типа
for(int i = 0;i < massiv.length; i++) ...
для решения поставленного задания тебе надо использовать
for(int i = massiv.length;i > 0; i--) ...
То есть стандарно для перебора элементов массива ты используешь выражение типа
for(int i = 0;i < massiv.length; i++) ...
для решения поставленного задания тебе надо использовать
for(int i = massiv.length;i > 0; i--) ...
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#6
Отправлено 07 мая 2007 - 20:24
может автор говорит о самодельных связных списках, а не о массивах ?
т. е. типоstruct Node { int data; Node *next; Node *prev; };автор, обьясни задачу
Если о них, то тоже ничего сложного ...
Дано:
Двусвязный список List, кажется так эта структура называется. То есть условия следкющие :
начальный элемент списка определяется условием List[первый].prev = null . Так же из этого условия следует что такой - начальный элемент есть только один. И так же только одни элемент которого удовлетвояет условию (признаку) конечного элемента List[последний].next = null.
Остальные элементы полностью связаныи являются промежуточными звеньями нашей цепи (я полволю здесь себе это слово) ...
Надо:
Чтобы List[первый] и List[последний] поменялись местами. При чем каждый элемент List должен не потерять своих соседей как слева так и справа (сорри, проще я неполучается обяъснить).
Решение:
А решения нет ... сама структура двусвязного списка отвечает условиям реверсии. И в этих же целях была разработана и применяется по сей день ... тривиально, не правдали!
Позволю себе изменить структуру элемента нашего списка ...
struct Node { int data; Node *next; };
То есть по списку можно гулять тока в одном направлении и теперь нам надо сделать так чтобы посписку можно было гулять точно в противоположную сторону с условием соблюдения сосдства ...
Многие наверно заметили что мы имеем дело с самым обыкновыным массовом где просто отсутвует понятие индекса ... только вместо временного индекса используется временный указатель.
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...