📄 yakun.cpp
字号:
#include <iostream.h>
void MERGE (int low,int mid,int high, int* a)
{
int h,i,j,k;
int b[7];
h=low;
i=low;
j=mid+1;
while ((h<=mid)&&(j<=high))
{
if (a[h]<=a[j])
{
b[i]=a[h];
h++;
}
else
{
b[i]=a[j];
j++;
}
i++;
}
if(h>mid)
{
for (k=j;k<=high;k++)
{b[i]=a[k];
i=i+1;
}
}
else
{
for(k=h;k<=mid;k++)
{
b[i]=a[k];
i++;
}
}
for(k=low;k<=high;k++)
{
a[k]=b[k];
}
}
void MERGESORT(int low,int high,int* a)
{
int mid;
if (low<high)
{
mid=(low+high)/2;
MERGESORT(low,mid,a);
MERGESORT(mid+1,high,a);
MERGE(low,mid,high,a);
}
}
void print(int* a,int n)
{
for(int i = 0; i < n;i++ )
cout << a[i] << ' ';
}
void main ()
{int a[7];
int n=7;
cout<<"请输入要排序的数组";
for( int i = 0; i < n;i++ )
cin >> a[i] ;
MERGESORT(0,6,a);
print(a, 7);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -