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

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

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

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

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

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

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

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