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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
looc26kmv
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 17
#1

Какой вид сортировки? - C++

04.06.2014, 09:00. Просмотров 169. Ответов 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
30
31
32
33
34
35
36
37
void Filevmestimost(stad **first, stad **close) //функция сортировки по вместимости стадиона
 
{   
    stad *tmpExternal = *first; //внешнй указатель-который будет параметром первого цикла
    stad *tmpExternalSave;     
    stad *tmpInterior; //внутренний указатель-парамер вложенного цикла
    while (tmpExternal->next)     
    {
        tmpExternalSave = tmpExternal->next; //сохраняем следующий внешний указатель
        tmpInterior = tmpExternal->next; //внутренний указатель т.е. с какого параметра начинается вложенный цикл
        while (tmpInterior)       
        {           
            if (tmpExternal->vmestimost < tmpInterior->vmestimost)//сравнение поля вместимость
            {  
                
                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;   //берем след. структуру, которая пробежит по списку      
     }
    savevfile(*first);  //отсортированный список выгружаем в файл
}
И вторая
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
34
35
36
37
38
39
void FileName (stad **first, stad **close)//функция сортировки списка по названию стадионов
{   
    stad *tmpExternal = *first; //"внешний" указатель - который будет параметром первого цикла
    stad *tmpExternalSave;      //сохраняем tmpExternal  
   stad *tmpInterior;  //"внутренний" указатель - парамет вложенного цикла
    while (tmpExternal->next)    
    {
        tmpExternalSave = tmpExternal->next;   //сохраняем следующий "внешний" указатель
        tmpInterior = tmpExternal->next;    //"внутренний" указатель, т.е. с какого параметра начинается вложенный цикл
 
        while (tmpInterior)         
        {           
            if (strcmp(tmpExternal->name, tmpInterior->name) > 0){     //сравнение поля имя
                
                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;   //берем след. структуру, которая "пробежит" по списку              
     }
    savevfile(*first);  //отсортированный список выгружаем в файл
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 09:00     Какой вид сортировки?
Посмотрите здесь:

Какой вид сортировки я написал? - C++
Цель стояла написать методом пузырька , я в принципе не знаю что это за метод, было лишь малое описание, как я понял это что-то вроде...

Уточнить вид сортировки - C++
запутался малость, это сортировка пузырьком или вставками ? for (int i = 10 - 1; i &gt;= 1; --i) for (int j = 0; j &lt; i; ++j) { ...

Какой вид имеет итерационная формула для вычисления 1/sqrt - C++
Прошу помочь решить вопрос: какой вид имеет итерационная формула для вычисления 1/sqrt.

Найти с какой стороны цикл будет находить 0 скорее и на какой позиции он стоит - C++
Дан целочисленный массив а, который состоит из десяти чисел(от 0 до 9) и заполняется рандомно. Нужно найти с какой стороны цикл будет...

Вид функций - C++
Помогите оформить эту программу в виде функций! Условие задачи точно не помню Сначало найти сумму элементов матрицы А, потом заменить...

Вид треугольника - C++
Даны произвольные числа a b c.Написать программу,которая проверяла бы,можно ли построить треугольник с такими длинами сторон, и если можно,...

Изменить метод "быстрой сортировки" на метод "сортировки вставками" - C++
Как изменить метод &quot;интеративной быстрой сортировки&quot; на метод &quot;сортировки вставками «с конца массива»&quot;? Нужно изменить только метод...

Красивый табулированный вид - C++
Написал программу для подсчета платы за стоянку 3-ех водителей (Задачка из книжки Дейтелов). Все работает, но вид не совсем красивый, не...

Определить вид треугольника - C++
Программа должна выводить результаты в цифрах: а) 0-не треугольник, б) другой треугольник, в)равнобедренный, г) равносторонний. Параметры...

Ступенчатый вид матрицы - C++
Дорогие друзья. Я создал класс матрикс class Matrix { private: int size; int det; int trace; int** matrix;


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru