void merge(int array[],int first,int last,int mid)
{
int array_temp[10]={0};
int i=first,j=mid+1,k;
for(k=0;k<=last-first;k++)
{
if (i==mid+1)
{
array_temp[k]=array[j++];
continue;
}
if (j==last+1)
{
array_temp[k]=array[i++];
continue;
}
if (array[i]<array[j]) array_temp[k]=array[i++];
else array_temp[k]=array[j++];
}
for (i=first,j=0;i<=last;i++,j++)
array[i] = array_temp[j];
}
void mergeSort(int array[],int first,int last)
{
int mid=0;
if(first<last)
{
mid=(first+last)/2;
mergeSort(array,first,mid);
mergeSort(array,mid+1,last);
merge(array,first,last,mid);
}
}
归并排序
最新推荐文章于 2023-12-11 10:45:47 发布