Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- void shift(int *a, int i, int j){
- int temp = a[i];
- a[i] = a[j];
- a[j] = temp;
- }
- int partition(int* a, int left, int right){
- int pivot = a[left];
- int i = left;
- int j = right;
- while(i < j){
- while(a[i] <= pivot){
- i++;
- }
- while(a[j] > pivot && j >= i){
- j--;
- }
- if(i < j){
- shift(a, i, j);
- }
- }
- shift(a, left, j);
- return j;
- }
- void quick_sort (int*a, int left, int right){
- if(left < right){
- int p = partition(a, left, right);
- quick_sort(a, left, p-1);
- quick_sort(a, p+1, right);
- }
- return;
- }
- int main(){
- int n;
- cin >> n;
- int a[n];
- for(int j = 0; j < n; j++){
- cin >> a[j];
- }
- quick_sort(a, 0, n-1);
- for(int i = 0; i < n; i++){
- cout << a[i] << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement