Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <cstdio>
- #include <cmath>
- #include <math.h>
- #include <iomanip>
- #include <string>
- #include <stdio.h>
- #include <stdlib.h>
- using namespace std;
- int part(vector<int> a, int l, int r){
- cout<<endl;
- for (int i=l;i<r;i++){
- cout<<a[i]<<" ";
- }
- cout<<endl;
- int v = a[(l + r) / 2];
- int i = l;
- int j = r;
- while (i <= j){
- while (a[i] < v)
- i++;
- while (a[j] > v)
- j--;
- if (i <= j)
- swap(a[i++], a[j--]);
- }
- return (j);
- }
- void quicksort(vector<int> a, int l, int r){
- if (l < r){
- int q = part(a, l, r);
- quicksort(a, l, q);
- quicksort(a, q + 1, r);
- }
- }
- int main(){
- freopen("sort.txt", "r", stdin);
- freopen("sortw.txt", "w", stdout);
- int k,x;
- cin>>k;
- vector<int> a;
- while (cin>>x){
- a.push_back(x);
- }
- int l=0,r=a.size();
- quicksort(a,l,r);
- for (int i=0;i<r;i++){
- cout<<a[i]<<" ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement