Добавил:
Hist
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программы c++ (сортировка, хэширование) / 1 / Quick_Sort
.cpp// Быстрая
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>
#define n 20
using namespace std;
int ass, compr, z, h;
int mass[n];
void input(void)
{
int i;
for (i=0; i<n; i++)
{
mass[i]=100-i;//100+100*sin(i);
}
}
void output(void)
{
int i;
for (i=0; i<n; i++)
{
cout << mass[i] << " ";
}
cout << "\n";
}
void qs(int l, int r)
{
int i,j,x,w;
i=l; j=r;
x=mass[(l+r)/2];
ass++;
do
{
compr++;
while (mass[i]<x) {compr++; i++;}
while (x<mass[j]) {compr++; j--;}
if (i<=j)
{
w=mass[i];
mass[i]=mass[j];
mass[j]=w;
ass=ass+3;
i++; j--;
}
}
while (i<j);
if (l<j) qs(l,j);
if (i<r) qs(i,r);
}
int main(void)
{
input();
output();
qs(0,n);
cout << "\n";
output();
cout<<"ass "<<ass<<endl;
cout<<"compr="<<compr;
}
Соседние файлы в папке 1