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

Сортировки: пять методов на выбор в одной программе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить из первой последовательности каждый символ, принадлежащий и второй http://www.cyberforum.ru/cpp-beginners/thread1135239.html
Даны 2 символьные последовательности. Удалить из первой последовательности каждый символ, принадлежащий и второй последовательности.Распечатать заданные и образованную последовательности. То есть...
C++ Ошибка: член класса QLineEdit ошибка: 'class QLineEdit' has no member named 'str' a=ui->lineEdit->str.toAscii().data(); подскажите что не так. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1135205.html
Как инициализировать Vector <class>? C++
Нужно реализовать такую задачу: Дан список учеников в формате Имя Оценка1 Оценка2 Оценка3 Надо отсортировать по убыванию суммы оценок. Поправьте меня, если я иду слишком сложным путем. Я создал...
Как обрезать строку типа wchar_t* до определенного символа? C++
собственно вопрос в названии тему, запнулся казалось бы на самом простом, некогда не любил работу со строками...
C++ WinAPI с чего начать? http://www.cyberforum.ru/cpp-beginners/thread1135176.html
Знаю, что тема уже поднималась и тем не менее. С чего начать изучать именно winAPI Например, мой друг написал программу, позволяющую щелкать все время в одном месте и иногда в другом (для игры...
C++ Вычислить сумму всех чисел Фибоначчи, которые не превосходят 1000 Дорогие программисты, помогите мне с такой вот задачкой, никак не могу решить.Написать на с++ вычислить сумму всех чисел фибоначчи которые не превосходят 1000 подробнее

Показать сообщение отдельно
Timophiy
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 7
31.03.2014, 21:11
Самый простой пример быстрой сортировки - алгоритм sort, но можно и написать самостоятельно
Быстрая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <math.h>
#include <algorithm>
using namespace std;
int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int n,m[1000];
    scanf("%d",&n);
    for (int i=0;i<n;i++)
    {
        scanf("%d",&m[i]);
    }
    for (int i=0;i<n-1;i++)
    {
        sort(m,m+n);
    }
    for(int i=0;i<n;i++)
    printf("%d ",m[i]);
    return 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
#include <stdio.h>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
     int size,t=0;
     scanf("%d",&size);
     int a[1000];
     for (int i=0;i<size;i++)
     {
        scanf("%d ",&a[i]);    
     }
     for (int i=0;i<size;i++)
     {
         for (int j=size-1;j>i;j--)
         {
         
             if (a[j]<a[j-1])
             {
                 swap (a[j],a[j-1]);
                 t++;
             }
         }
     }
for (int i=0;i<size;i++)
     {
      printf("%d ",a[i]);
}
      return 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
#include <stdio.h>
#include <math.h>
#include <algorithm>
using namespace std;
int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int n,m[1000];
    scanf("%d",&n);
    for (int i=0;i<n;i++)
    {
        scanf("%d",&m[i]);
    }
    for (int i=0;i<n-1;i++)
    {
        int index=i;
        for(int j=i+1;j<n;j++)
        {
            if(m[index]>m[j]){index=j;}
        }
        swap(m[i],m[index]);
    }
    for(int i=0;i<n;i++)
    printf("%d ",m[i]);
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru