merge函数_c语言中的merge函数
展開全部
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算法的兩種接口,把兩個有序的數組合并到另一個數組中:
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];
}
}
總結
以上是生活随笔為你收集整理的merge函数_c语言中的merge函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 丰胸的中药真的有用吗
- 下一篇: 市面上的减肥产品有用吗