博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++_归并排序
阅读量:5338 次
发布时间:2019-06-15

本文共 736 字,大约阅读时间需要 2 分钟。

//合并有序数组

//合并例子

void MemeryArray(int a[], int n, int b[],int m, int c[]){	int i,j,k;	i=j=k=0;	while(i
//排序需要调用的如下

//排序调用

bool MergeSort(int a[], int n){	int *p = new int[n];	if(p==NULL)	{		return false;	}	mergesort(a,0,n-1,p);  //用n-1是因为 合并的时候用的是 "<=" 而不是 "<"	delete[] p;	return true;}
//数组按照中值,左右执行递归

void mergesort(int a[],int first,int last,int temp[]){	if(first
//最后对数组进行合并

void mergearray(int a[], int first, int mid, int last, int temp[])  {	int i=first, j = mid+1;	int m = mid, n =last;	int k=0;	while(i<=m&&j<=n)	{		if(a[i]<=a[j])		{			temp[k++]=a[i++];		}		else		{			temp[k++] = a[j++];		}	}	while(i<=m)	{		temp[k++] = a[i++];	}	while(j<=n)	{		temp[k++]=a[j++];	}	for(i=0;i

转载于:https://www.cnblogs.com/MarchThree/p/3720480.html

你可能感兴趣的文章
Android 命名规范 (提高代码可以读性)
查看>>
POJ1837 Balance 背包
查看>>
怎么用UIProgressView去显示上传的进度呢?
查看>>
数据结构-哈夫曼树
查看>>
UVA 1585 Score (c++ )(字符串处理)
查看>>
考题分享
查看>>
webpack 4 简单介绍
查看>>
《数据结构》--第6章图
查看>>
导数的四则运算
查看>>
计算两个时间戳之间相差的时间
查看>>
微服务框架SpringCloud(Dalston版)学习 (一):Eureka服务注册与发现
查看>>
mybatis 迭代map
查看>>
基于等待队列及poll机制的按键驱动代码分析和测试代码
查看>>
Win7+Ubuntu11.10(EasyBCD硬盘安装)
查看>>
Being a Servlet: request AND response(Head First Servlets and JSP)
查看>>
Archiving(Chapter 10 of Cocoa Programming for Mac OS X)
查看>>
View Controllers(Chapter 7 of iOS Programming: The Big Nerd Ranch Guide)
查看>>
管理之道:教学相长--教亦学,学亦教
查看>>
获取当前文件路径和父级路径
查看>>
ubuntu上制作应用程序的快捷图标启动
查看>>