Visualizzazione dei risultati da 1 a 1 su 1
  1. #1

    [C++] Malfunzionamento di Quick Sort iterativo

    RAGAZZI PER PIACERE QUALCUNO SA QUAL'E' IL PROBLEMA DI QUESTO QUICK SORT ITERATIVO
    GRAZIE IN ANTICIPO

    codice:
    int partizione(int a[],int p,int n1)
    {
        int i=p;
        int j=n1;
     
        while(i<j&&a[j]>a[p])
            i++;
        while (i<j&&a[i]<=a[p])
            j--;
        while(i<j)
        {
            swap(&a[i],&a[j]);
            i++;
            j--;
        }
       	swap(&a[p],&a[j]);
       	return j;
    }
    
    
    void swap(int *m,int *g)
    {   
        int temp;
            
        temp=*m;
        *m=*g;
        *g=temp;
    }
    
    
    void Quicksort(int a[],int p,int n1)
    {
    	int l;
        
    	l = partizione(a,p,n1);
    	
         if (l-p<n1-l)
         {
             if (p<l-1)
    		 	Quicksort(a,p,l-1);
             if (l+1<n1)
    		 	Quicksort(a,l+1,n1);
         }else{
             if (l+1<n1)
    		 	Quicksort(a,l+1,n1);
             if (p<l-1)
    		 	Quicksort(a,p,l-1);
    	}
    }
    Il richiamo è Quicksort(a,0,n);

    L'OUTPUT E' IN ALLEGATO
    6.PNG
    Ultima modifica di alka; 29-05-2018 a 09:37 Motivo: Formattazione del codice

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.