Сортировать с помощью быстрой сортировки

Тема в разделе "Общие вопросы по С и С++", создана пользователем ALDon, 5 ноя 2010.

  1. ALDon

    ALDon Гость

    Нужно сортировать последовательность цисел через быструю сортировку или через сортировку слиянием.
    На первую строку вводим количество чисел,которые будем сортировать,а на вторую последовательность чисель.
    Вывод должен быть таким
    примерно так

    вводим
    6
    1 3 2 1 2 3
    выводит

    1 1 2 2 3 3


    Код (Text):
    #include<iostream>
    using namespace std;
    int main(){
    int a;
    int b[10000];
    cin>>a;
    for(int i=0;i<a;i++)
    cin>>b[i];

    //.....быстрая сортировка или слиянием

    return 0;}
    вот код которую я могу написать,я не знаю как используются эти сортировки если можете пишите код с комментариями
     
  2. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    rrrFer, угу :))) А потом у 20 из 30 стунедтов один алгоритм :) А у 10+ из этих 20 даже переменные одинакового названия :)))

    З.Ы. Вот препадам наверное щас веселуха :)

    Код (C++):
    #include <iostream>
    #include <time.h>

    using namespace std;

    int compare (const void *arg1, const void *arg2) //Функция для быстрой сортировки (qsort)
    {
    return *(int*)arg1 - *(int*)arg2;
    }
    void main(void)
    {
    setlocale(LC_ALL,"Russian"); //Добавил для локали
    int a;
    int b[10000];
    srand(time(NULL)); //Введем генератор случайно величины
    cout<<"Введите размерность массива: "; //Диалог добавил просто так...
    cin>>a;

    for(int i=0;i<a;i++)
    {
    //cin>>b[i]; //Заполнять лень поэтому обойдемся случ. величинами
    b[i] = rand()%200-100;// от -99.. До 99
    cout<< b[i]<<"\t";
    }

    cout<<"Отсортированный массив:"<<endl;
    qsort(b,a,sizeof(int),compare); //Отсортируем
    cout<<endl;
    for(int i=0;i<a;i++) //Выведим отсортированный массив
    {
    cout<< b[i]<<"\t";
    }

    }
     
  3. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Это что бы преподаватель мог оторваться на студентах за проблемы которые у него дома ;-)))
    Преподы тоже люди - и тоже должны вымещать гнев ;-)))))
     
Загрузка...

Поделиться этой страницей