归并排序算法
归并排序指的是将两个已经排好序的序列合并成一个序列的操作 ,具体原理如下:1,将序列每相邻两个数字进行归并操作,形成floor(n/2)个序列,排序后每个序列包含两个元素。
2,将上述序列再次归并,形成floor(n/4)个序列,每个序列包含4个元素。
3,重复步骤2 直至完成。
public static void Merge(int[] temp,int left,int mid,int right)
{
inti,left_end,num_elements,tmp_pos;
left_end=mid-1;
tmp_pos=left;
num_elements=right-left+1;
while((left<=left_end)&&(mid<=right))
{
if(myArray<=myArray)
{
temp=myArray;
tmp_pos=tmp_pos+1;
left=left+1;
}
else
{
temp=myArray;
tmp_pos=tmp_pos+1;
mid=mid+1;
}
}
while(left<=left_end)
{
temp=myArray;
left=left+1;
tmp_pos=tmp_pos+1;
}
while(mid<=right)
{
temp=myArray;
mid=mid+1;
tmp_pos=tmp_pos+1;
}
for(i=0;i<num_elements;i++)
{
myArray=temp;
right=right-1;
}
}
页:
[1]