Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
- #include <stdlib.h>
- void quicksort(int n, int vet[n], int f, int l){
- int pivot = vet[f];
- int esq = 0, dir = 0,i;
- for(i=0; i<n ;i++)
- {
- if(pivot < vet[i])
- {
- dir++;
- }
- else if(pivot > vet[i])
- esq++;
- }
- if(esq == 0 && dir == 0)
- {
- printf("%d ", pivot);
- return;
- }
- int vetesq[esq], vetdir[dir];
- int e=-1, d=-1;
- for(i=1; i<n ; i++)
- {
- if(pivot > vet[i])
- {
- e++;
- vetesq[e] = vet[i];
- }
- else if(pivot < vet[i])
- {
- d++;
- vetdir[d] = vet[i];
- }
- }
- printf("%d ", pivot);
- if(e >= 0)
- quicksort(esq,vetesq,f,e);
- if(d >= 0)
- quicksort(dir,vetdir,f,d);
- return;
- }
- int main(){
- int n;
- scanf("%d", &n);
- int vet[n],i;
- for(i=0; i<n; i++)
- {
- scanf("%d", &vet[i]);
- }
- quicksort(n,vet,0,n-1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement