Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 4
1

Функция изменяет порядок элементов спика

21.11.2012, 20:59. Показов 540. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Мне необходима помощь с функцией.
Задан кольцевой двух связный список: (первый элемент head является камнем, т.е. никакой информации в себе не несет, является дополнительным)


C
1
2
3
4
5
6
typedef struct tag_CNode{
    //attributes
    int id;//node's inex
    struct tag_CNode *prev;//Pointer to the previous node in the node's list
    struct tag_CNode *next;//Pointer to the next     node in the node's list
}CNode;
Я написал функцию, которая должна изменить порядок элементов на обратный:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void reverse(CNode *head){
CNode *temp,*temp2,*dop;
int j,i=0;
    if(empty(head)!=0){
        temp=head;
        do{
            temp2=temp->next;
            dop=temp->next;
            temp->next=temp->prev;
            temp->prev=dop;
            temp=temp2;
        }while(temp!=head->prev);
    }
}
Но проблема в том, что функция работает на правильно. Список состоит из элементов : 0 0 1 0. После выполнения reverse на экране получаю: 1 0, а хочется получить 0 1 0 0. Подскажите, пожалуйста, в чем моя ошибка?

Спасибо, большое!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2012, 20:59
Ответы с готовыми решениями:

Функция высших порядков изменяет знак всех положительных элементов списка чисел
вот просто функция, которая изменяет знак всех положительных элементов списка чисел m :: -> m =...

Рекурсивная функция, меняющая порядок элементов в списке
Дана рекурсивная функция, которая меняет порядок элементов в списке. Например:...

Функция: поменять порядок элементов передаваемого массива на обратный
Написать функцию, которая меняет порядок элементов передаваемого массива на обратный. Внутри...

Функция, меняющая порядок следования элементов массива на противоположный
Написать функцию, меняющую порядок следования элементов передаваемого ей массива на...

0
21.11.2012, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2012, 20:59
Помогаю со студенческими работами здесь

Нужно, чтобы функция изменяла порядок элементов на противоположный
#include <iostream> const int Max = 5; int fill_array(double ar, int limit); void...

Функция не изменяет масссив
Проблема в функции RemoveToRight Я проверял, вход в функцию есть, но что-то не правильно, функция...

Функция изменяет матрицу в Delphi
Добрый день. Пишу программу по теории групп и внезапно появилась проблема, что на определенном шаге...

Excel. Функция от ячеек, которая не изменяет их самих
Привет, помогите пожалуйста. Довольно срочное дело. Есть функция: Function Macro8(a As Variant,...

Функция SetCurrentDirectory не изменяет директорию, что не так?
Дали задание создать прогу на с++, используя функцию BOOL SetCurrentDirectory(LPCWSTR lpszCurDir),...

Функция, которая изменяет первоначальное значение переменной и хранит его до следующего вызова
Нужно , чтобы функция(пусть даже main()) изменял первоначальное значение переменной и хранила его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru