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

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

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

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

04.06.2014, 09:00. Просмотров 176. Ответов 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);  //отсортированный список выгружаем в файл
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 09:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какой вид сортировки? (C++):

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

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

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

статический вид -> динамический вид - C++
Всем привет. Может кто помоч передалать данную прогу в динамический вид? #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace...

Составить блок – схемы для шейкер- сортировки и сортировки Шелла - C++
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить блок – схемы для шейкер-...

Пример быстрой сортировки массива строк и сортировки методом выбора - C++
Добрый вечер. Скиньте пожалуйста пример быстрой сортировки массива строк и сортировки массива строк методом выбора. Очень срочно надо,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2014, 09:00
Привет! Вот еще темы с ответами:

Составить программы для пузырьковой сортировки и сортировки посредством выбора с применением оператора while - C++
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить программы для пузырьковой...

Сделать так, чтобы после сортировки вектора указатель показывал на тот же элемент, что и до сортировки - C++
Есть вектор(STL) элементов. У меня есть указатель на определенный элемент. Я хочу сделать так, чтобы после сортировки этого вектора...

Напишите функцию сортировки, похожую на функцию которая использовалась для сортировки массивов, с той разницей, что ее а - C++
Напишите функцию сортировки, похожую на функцию которая использовалась для сортировки массивов, с той разницей, что ее аргументом должен...

Как определять какой метод должен быть статическим, а какой нет? - C++
Quer::add_line_to_vec: недопустимый вызов нестатической функции-члена


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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