Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2010, 18:08   #1
Apach47
 
Аватар для Apach47
 
Регистрация: 24.08.2010
Сообщений: 6
По умолчанию Указатели в связных списках[C++]

Здравствуйте уважаемые форумчане.
Задача - обменять местами элементы двухсвязного списка. Рассматриваем случай, когда меняем первый элемент в списке со вторым, причем второй не последний.

Узел списка объявляю так:
Код:
struct Node{
    int data_birth;
    string family;
    Node *next;
    Node *prev;
};

Функция обмена вот:
Код:
void change_elem(Node **elem, Node **pbeg)
// elem - элемент, который меняем
// pbeg - адрес головы списка
{
    Node *tmp = (*elem);

    if( (*elem)->prev == NULL && ( (*elem)->next)->prev != NULL )
    {
        (*elem)->prev = (*elem)->next;
        (*elem)->next = ( (*elem)->next )->next;
        ( ( (*elem)->next)->next)->next = ( (*elem)->next)->prev;
        ( (*elem)->next)->next = ( (*elem)->next)->prev;
        ( (*elem)->next)->prev = tmp->prev;

        (*pbeg) = tmp->next;
    }
}
На бумаге раза три эту функцию прорисовывал, все связи должны вставать нормально, но откомпилированая программа циклично выводит только 2-й и 3-й элемент, после применения этой функции.

Где в моей функции содержится ошибка, подскажите пожалуйста.
Apach47 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Еще раз о списках tae1980 Microsoft Office Excel 12 02.09.2013 11:44
вывод в списках zhenya.ya Помощь студентам 0 05.06.2010 23:57
Инфо о списках Mango Помощь студентам 1 13.01.2009 14:37
вывод связных записей из БД Tanuska___:) БД в Delphi 7 19.05.2008 17:03
поля из разных связных таблиц в одном dbgrid Geddar Помощь студентам 2 15.05.2008 16:57