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

Сортировка двунаправленного списка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать третий массив из элементов двух данных http://www.cyberforum.ru/cpp-beginners/thread1158309.html
Подскажите, пожалуйста, как сформировать массив С между А и В #include "stdafx.h" #include <stdlib.h> #include <stdio.h> void cm(int A, int a) { int i; for (i=0; i<a; i++) A=i+rand(); }
C++ Найти максимальное число, которое расположено ниже главной и ниже обратной диагонали Дана квадратная матрица целых чисел размером N<=12. Заполнить матрицу случайными числами от 0 до 100. Найти максимальное число, которое расположено ниже главной и ниже обратной диагонали. Матрицу вывести красиво по строкам на экран. Результаты вычислений также вывести на экран. http://www.cyberforum.ru/cpp-beginners/thread1158303.html
C++ Перегрузка operator>>, классы Point, CIrcle, List
Добрый вечер! имеется класс Point (x, y), Сircle (r) и класс List c встроенным в него классов Node. требуется кроме прочего перегрузить оператор чтения из файла. перегружен был следующим ниже образом. но нужно сделать так чтобы x и y считались в Point, r в Circle, соответственно. а в List это все долно собираться в объект класса circle и соответственно добавляться в список. ума не приложу как...
Сортировка массива C++
У меня есть цель наклепать сортировку с помощью (1)прямого выбора и и сортировку (2)Шелла. Делаю все пошагово, сначала алгоритм действий (1) чтобы было все ясно чего куда: для i от 1 до n-1 выполнять -> присвоить k наименьший из a,..,a -> поменять местами a и a, после перейти к шагу 1. Вот код задания массива: #include <iostream.h> #include <conio.h> #include <stdlib.h> int main () { ...
C++ Сортировка вставками http://www.cyberforum.ru/cpp-beginners/thread1158223.html
Необходимо отсортировать весь массив методом вставками парных чисел на возрастание const int N = 4; int mas; void fill(){ for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ mas = rand()%100-50;
C++ Вывести список студентов, которые не сдали третий экзамен C++ Описать структуру данных STUDENT которая содержит следующую информацию: фамилия студента, группа, год рождения, результаты сдачи 5 экзаменов. Составить программу для создания массива из 5 элементов этой структуры и обработки соответствующих данных (поиск некоторой информации). 1. Вывести список студентов, которые не сдали третий экзамен подробнее

Показать сообщение отдельно
auditseo
55 / 55 / 0
Регистрация: 10.03.2014
Сообщений: 73
27.04.2014, 11:49  [ТС]     Сортировка двунаправленного списка
Без проблем:

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
30
31
32
33
void FileRating(Film **first, Film **close){    //функция сортировки списка по рейтингу фильмов
    Film *tmpExternal = *first; //"внешний" указатель - который будет параметром первого цикла
    Film *tmpExternalSave;  //сохраняем tmpExternal     
    Film *tmpInterior; //"внутренний" указатель - парамет вложенного цикла
    while (tmpExternal->next)     
    {
        tmpExternalSave = tmpExternal->next; //сохраняем следующий "внешний" указатель
        tmpInterior = tmpExternal->next; //"внутренний" указатель, т.е. с какого параметра начинается вложенный цикл
        while (tmpInterior)       
        {           
            if (tmpExternal->rating < tmpInterior->rating){  //сравнение поля рейтинг
                
                if(tmpExternal->pred == 0){   //если "взятая" структура первая в списке
                    *first = tmpExternal->next;                                    
                }
                else tmpExternal->pred->next = tmpExternal->next;
 
                if(tmpInterior->next == 0){   //если структура, после которой вставляется "взятая" структура, последняя в списке 
                    *close = tmpExternal;
                }
                else tmpInterior->next->pred = tmpExternal;           
                tmpExternal->next->pred = tmpExternal->pred;     
                tmpExternal->next = tmpInterior->next;     
                tmpInterior->next = tmpExternal;                          
                tmpExternal->pred = tmpInterior;
                tmpInterior = tmpExternal->next;   //берем след. структуру для сравнения
                } 
            else tmpInterior = tmpInterior->next;  //берем след. структуру для сравнения                        
            }
        tmpExternal = tmpExternalSave; //берем след. структуру, которая "пробежит" по списку        
     }
    uploadFileTxt(*first);  //отсортированный список выгружаем в файл
}
 
Текущее время: 06:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru