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

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

Восстановить пароль Регистрация
 
looc26kmv
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 17
04.06.2014, 09:00     Какой вид сортировки? #1
Ребят, подскажите пожалуйста,что это за вид сортировки, ну там пузырьком, быстрая и тому подобное.
Первая функция сортировки.
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++ Как определять какой метод должен быть статическим, а какой нет?
C++ Составить программы для пузырьковой сортировки и сортировки посредством выбора с применением оператора while
C++ Найти с какой стороны цикл будет находить 0 скорее и на какой позиции он стоит
C++ Какой вид имеет итерационная формула для вычисления 1/sqrt
C++ Сделать так, чтобы после сортировки вектора указатель показывал на тот же элемент, что и до сортировки
C++ Напишите функцию сортировки, похожую на функцию которая использовалась для сортировки массивов, с той разницей, что ее а
C++ Уточнить вид сортировки

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

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

Текущее время: 14:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru