Pages: [1]   Go Down
Print
Author Topic: Problema Merge-Sort  (Read 577 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« on: 05-10-2010, 22:57:19 »

Dove sbaglio nell'algoritmo?

Code:
public class MergeSort
{

public static void main(String [] args)
{
int [] a={3,6,5,7,9,8,0,5};
MSort(a,0,a.length-1);
for(int i=0; i<a.length; i++)
System.out.print(a[i]+" ");

}


public static void merge(int [] a, int left,int center, int right)
{
int [] S=new int[a.length];
int i= left;
int j=center+1;
int k=0;


while(i<=center && j<=right)
{
if(a[i]<=a[j])
{
S[k++]=a[i++];
}
else{
S[k++]=a[j++];
}

}

while(i<=center)
{
S[k++]=a[i++];
}

while(j<=right)
{
S[k++]=a[j++];
}

k=left;
while(k<right)
a[k++]=S[k-left];

}



public static void MSort(int [] a,int left, int right)
{
if(left<right){
int center=(left+right)/2;
MSort(a,left,center);
MSort(a,center+1,right);
merge(a, left,center,right);
}


}
}
Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« Reply #1 on: 12-10-2010, 16:02:17 »

Qualcuno sa aiutarmi?
Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
Pages: [1]   Go Up
Print
Jump to: