Cod sursa(job #2987505)

Utilizator CiprianHutanuHutanu Ciprian CiprianHutanu Data 2 martie 2023 13:46:57
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.19 kb
#include <fstream>
#include <cstdlib>

using namespace std;

ifstream f;
ofstream g;

void bublesort(int v[], int n)
{
    int i, aux;
    bool ok = 1;
    while (ok == 1)
    {
        ok = 0;
        for(i=0;i<n-1;i++)
            if (v[i] > v[i + 1])
            {
                ok = 1;
                aux = v[i];
                v[i] = v[i + 1];
                v[i + 1] = aux;
            }
    }
}

void quicksort(int v[], int left, int right)
{
    int i, pivot, m;
    if (left < right)
    {
        m = left - 1;
        pivot = (rand() % (right - left + 1)) + left;
        for (i = left; i < right; i++)
        {
            if (v[i] < v[pivot])
            {
                swap(v[i], v[m]);
                m++;
            }
        }
        swap(v[m + 1], v[pivot]);
        m++;
        quicksort(v, left, m-1);
        quicksort(v, m + 1, right);
    }
}

int main()
{
    f.open("algsort.in");
    int n, v[50000], i;
    f >> n;
    for (i = 1; i <= n; i++)
        f >> v[i];
    f.close();
    quicksort(v, 0, n);
    g.open("algsort.out");
    for (i = 1; i <= n; i++)
        g << v[i] << ' ';
    g.close();
    return 0;
}