Advertisement

C++ 归并排序(非递归)

阅读量:

1.归并排序:通过逐对合并的方式,持续进行直至最终形成一个完全有序的序列

复制代码
    void Print_Ar(int* br, int n)
    {
    	if (br == NULL || n < 1)	return;
    	for (int i = 0; i < n; ++i)
    	{
    		cout << br[i] << " ";
    	}
    	cout << endl;
    }
    void Merge(int* src, int* dest, int left, int m, int right)
    {
    	int i = left;
    	int j = m + 1;
    	int k = left;
    	while (i <= m && j <= right)
    	{
    		dest[k++] = src[i] <= src[j] ? src[i++] : src[j++];
    	}
    	while (i <= m)
    	{
    		dest[k++] = src[i++];
    	}
    	while (j <= right)
    	{
    		dest[k++] = src[j++];
    	}
    }
    void Mer

全部评论 (0)

还没有任何评论哟~