Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Сортировка кольцевого односвязного списка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ робота со списками в С++.... http://www.cyberforum.ru/cpp-beginners/thread365804.html
Написать программу, которая реализует операции обрабатывания (внесение, удаление, дополнение, замены) линейных однонаправленных списков или их частей, которые состоят из элементов типа Short на...
C++ Hello Word здравствуйте имеется среда разработки microsoft visual C++ 2010,экспрес выпуск , набрал код #include<iostream> int main() { std::cout <<"hello, Word!"<< std::endl; return 0; } хочу... http://www.cyberforum.ru/cpp-beginners/thread365785.html
C++ Компилятор C++ для Android.
Знаю что существует компилятор Pascal на Android,а есть ли такой для C++? Тоесть чтобы на планшете с Android писать программы на C++?
Функция обработки строк C++
Нобходимро написать программку функция main() которой содержит вызов функции strlwr char *strlwr( char *s); и вызов пользовательской функции, которая имитирует действия, соответствующие выбранной...
C++ Удалить пробел перед точкой http://www.cyberforum.ru/cpp-beginners/thread365774.html
Вводится текст - необходимо удалить все пробелы перед точкой(запятой). Понимаю, что нужно сделать примерно так: string sentence; getline(cin, sentence); int i = 0;
C++ Вычислить частичную сумму ряда дано действительное число Х. Вычислить: x-\frac{x^3}{3!}+\frac{x^5}{5}!-\frac{x^7}{7!}+\frac{x^9}{9!}-\frac{x^{11}}{11!}+\frac{x^{13}}{13!} подробнее

Показать сообщение отдельно
slonni
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 18

Сортировка кольцевого односвязного списка - C++

13.10.2011, 18:11. Просмотров 587. Ответов 0
Метки (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void List::sortList()
{
    cur=head;
    Node *p1, *p2, *p0;
    Node *tmp=head;
 
    while(cur != tail)
    {
        p1=cur;
        p2=cur->next;
        tmp=cur;
 
        while(tmp != tail)
        {
            if(p1->inf > p2->inf)
            {
                if(cur == head)
                {
                    p1->next=p2->next;
                    p2->next=p1;
                    head=p2;
                    tail->next=head;
                }
            }
            tmp=tmp->next;
        }
        cur=cur->next;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru