merge函数_c语言中的merge函数「建议收藏」

merge函数_c语言中的merge函数「建议收藏」展开全部merge()是C++标准库的函数,主要实现函数的排序和合并,不仅仅是合并,具体要求参e5a48de588b63231313335323631343130323136353331333431373261照标准库。#include”stdafx.h”#include#include#include#includeusingnamespacestd;boolcomp(constinti,con…

大家好,又见面了,我是你们的朋友全栈君。

展开全部

merge()是C++标准库的函数,主要实现函数的排序和合并,不仅仅是合并,具体要求参e5a48de588b63231313335323631343130323136353331333431373261照标准库。

#include”stdafx.h”

#include

#include

#include

#include

usingnamespacestd;

boolcomp(constinti,constintj){

returni>j;

}

intmain(void){

/*自定义谓词*/

std::arrayai1={1,3,4,5};

std::listlsti1;

for(constauto&i:ai1)

lsti1.push_front(i);//从大到小

std::arrayai2={2,6,7,8};

std::listlsti2;

for(constauto&i:ai2)

lsti2.push_front(i);

lsti1.merge(lsti2,comp);

std::cout<):”;

for(constauto&i:lsti1)

std::cout<

std::cout<<:endl>

/*默认谓词*/

std::arrayai1d={1,3,4,5};

std::listlsti1d;

for(constauto&i:ai1d)

lsti1d.push_back(i);//从小到大

std::arrayai2d={2,6,7,8};

std::listlsti2d;

for(constauto&i:ai2d)

lsti2d.push_back(i);

lsti1d.merge(lsti2d);

std::cout<

for(constauto&i:lsti1d)

std::cout<

std::cout<<:endl>

return0;

}

merge函数_c语言中的merge函数「建议收藏」

扩展资料

Merge算法的两种接口,把两个有序的数组合并到另一个数组中:

void Merge(int *A, int f, int m, int e){

int temp[e-f+1];

int i,first=f,last=m+1;

for(i=0;i

if(A[f]<=A[last]) {

temp[i]=A[f];

f++;

}

else {

temp[i]=A[last];

last++;

}

}

while(f>m&&last<=e){

temp[i]=A[last];

i++;

last++;

}

while(f<=m&&last>e){

temp[i]=A[f];

i++;

f++;

}

for(i=0;first<=e;i++,first++){

A[first]=temp[i];

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131873.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号