Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // Quick Sort
- //
- // Created by andy on 22.11.2017.
- // Copyright © 2017 andy. All rights reserved.
- //
- #include <cstdio>
- #include <algorithm>
- const int MXN=1e6+5;
- int tablica[MXN],n;
- int poszukiwacz(int lewa,int prawa){
- int srodek=tablica[prawa];
- int i=lewa-1;
- for(int j=lewa;j<prawa;j++){
- if(tablica[j]<=srodek){//jezeli element jest jest mniejszy od srodeka
- i++;
- std::swap(tablica[i],tablica[j]);//to go wrzucam do "grupy tych mniejszych"
- }
- }
- std::swap(tablica[i+1],tablica[prawa]);//zamieniamy element ostanie z "srodkiem ciagu"
- return i+1;
- }
- void Quicksort(int lewa,int prawa){
- if(lewa<prawa){
- int srodek=poszukiwacz(lewa,prawa);//przeszukuje tablice aby wyszukac srodek
- Quicksort(lewa,srodek-1);//rozpatruje teraz lewa strone od srodeka
- Quicksort(srodek+1,prawa);// i lewą
- }
- }
- int main(){
- scanf("%d",&n);
- for(int i=1;i<=n;i++)
- scanf("%d",&tablica[i]);
- Quicksort(1,n);
- for(int i=1;i<=n;i++)
- printf("%d ",tablica[i]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment