package wuxue;
import java.util.Arrays;
public class mergesort implements shuzu {
private int sorts[];
private int n;
public mergesort() {
// TODO Auto-generated constructor stub
n=shuzu.length;
sorts=new int[n];
for(int i=0;i<n ;i++)
{
sorts[i]=shuzu[i];
}
sort(sorts,0,n-1);
prints();
}
private void sort(int sorttemp[],int m,int n)
{
if(m!=n)
{
int mid=(m+n)/2;
sort(sorttemp,m,mid);
sort(sorttemp,mid+1,n);
guibing(sorttemp,m,mid,n);
}
}
private void guibing(int sortb[],int i,int m,int n)
{
int k,j;
int sorttemp[]=Arrays.copyOf(sortb, sortb.length);
for(j=m+1,k=i;i<=m&&j<=n;k++)
{
if(sorttemp[i]<sorttemp[j])sortb[k]=sorttemp[i++];
else sortb[k]=sorttemp[j++];
}
while(i<=m)sortb[k++]=sorttemp[i++];
while(j<=n)sortb[k++]=sorttemp[j++];
}
public void prints()
{ System.out.print("归并排序:");
for(int i=0;i<n;i++)
System.out.print(sorts[i]+" ");
System.out.println();
}
}
归并排序
最新推荐文章于 2023-09-03 20:36:33 发布