⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yakun.cpp

📁 归并排序,算法分析与设计第二章分治法思想的归并排序算法实现,用C++写的.
💻 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 + -