#include <stdio.h>
#include <iostream>
#include <vector>
using namespace std;
void mergeSort(vector<int> arrayA, vector<int> arrayB, vector<int> &arrayRes)
{
int indexA=0, indexB=0;
while(indexA < arrayA.size() && indexB < arrayB.size()) {
if(arrayA[indexA] < arrayB[indexB]) {
arrayRes.push_back(arrayA[indexA]);
indexA++;
}
else {
arrayRes.push_back(arrayB[indexB]);
indexB++;
}
}
while(indexA < arrayA.size()) {
arrayRes.push_back(arrayA[indexA]);
indexA++;
}
while(indexB < arrayB.size()) {
arrayRes.push_back(arrayB[indexB]);
indexA++;
}
return;
}
int main()
{
int inputA[] = {1, 5, 37, 42, 61};
int inputB[] = {11, 15, 19, 48, 59};
vector<int> arrayA(&inputA[0], &inputA[sizeof(inputA)/sizeof(int)]);
vector<int> arrayB(&inputB[0], &inputB[sizeof(inputB)/sizeof(int)]);
vector<int> arrayRes;
mergeSort(arrayA, arrayB, arrayRes);
for(vector<int>::iterator vi=arrayA.begin(); vi != arrayA.end(); vi++) {
printf("%d ", *vi);
}
cout << endl;
for(vector<int>::iterator vi=arrayB.begin(); vi != arrayB.end(); vi++) {
printf("%d ", *vi);
}
cout << endl;
for(vector<int>::iterator vi=arrayRes.begin(); vi != arrayRes.end(); vi++) {
printf("%d ", *vi);
}
cout << endl;
return 1;
}
#include <iostream>
#include <vector>
using namespace std;
void mergeSort(vector<int> arrayA, vector<int> arrayB, vector<int> &arrayRes)
{
int indexA=0, indexB=0;
while(indexA < arrayA.size() && indexB < arrayB.size()) {
if(arrayA[indexA] < arrayB[indexB]) {
arrayRes.push_back(arrayA[indexA]);
indexA++;
}
else {
arrayRes.push_back(arrayB[indexB]);
indexB++;
}
}
while(indexA < arrayA.size()) {
arrayRes.push_back(arrayA[indexA]);
indexA++;
}
while(indexB < arrayB.size()) {
arrayRes.push_back(arrayB[indexB]);
indexA++;
}
return;
}
int main()
{
int inputA[] = {1, 5, 37, 42, 61};
int inputB[] = {11, 15, 19, 48, 59};
vector<int> arrayA(&inputA[0], &inputA[sizeof(inputA)/sizeof(int)]);
vector<int> arrayB(&inputB[0], &inputB[sizeof(inputB)/sizeof(int)]);
vector<int> arrayRes;
mergeSort(arrayA, arrayB, arrayRes);
for(vector<int>::iterator vi=arrayA.begin(); vi != arrayA.end(); vi++) {
printf("%d ", *vi);
}
cout << endl;
for(vector<int>::iterator vi=arrayB.begin(); vi != arrayB.end(); vi++) {
printf("%d ", *vi);
}
cout << endl;
for(vector<int>::iterator vi=arrayRes.begin(); vi != arrayRes.end(); vi++) {
printf("%d ", *vi);
}
cout << endl;
return 1;
}
TAG 알고리즘
Trackback Address :: http://misterlinker.tistory.com/trackback/14
이올린에 북마크하기
이올린에 추천하기
