[フレーム]

C++ Tutorial

C++ HOME C++ Intro C++ Get Started C++ Syntax C++ Output C++ Comments C++ Variables C++ User Input C++ Data Types C++ Operators C++ Strings C++ Math C++ Booleans C++ If...Else C++ Switch C++ While Loop C++ For Loop C++ Break/Continue C++ Arrays C++ Structures C++ Enums C++ References C++ Pointers C++ Memory Mgmt

C++ Functions

C++ Functions C++ Function Parameters C++ Function Overloading C++ Scope C++ Recursion C++ Lambda

C++ Classes

C++ OOP C++ Classes/Objects C++ Class Methods C++ Constructors C++ Access Specifiers C++ Encapsulation C++ Friend Functions C++ Inheritance C++ Polymorphism C++ Templates C++ Files C++ Date

C++ Errors

C++ Errors C++ Debugging C++ Exceptions C++ Input Validation

C++ Data Structures

C++ Data Structures & STL C++ Vectors C++ List C++ Stacks C++ Queues C++ Deque C++ Sets C++ Maps C++ Iterators C++ Algorithms

C++ Namespaces

C++ Namespaces

C++ Projects

C++ Projects

C++ Cert

C++ Certificate

C++ How To

C++ Add Two Numbers C++ Random Numbers

C++ Reference

C++ Reference C++ Keywords C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime> C++ <vector> C++ <algorithm>

C++ Examples

C++ Examples C++ Real-Life Examples C++ Compiler C++ Exercises C++ Quiz C++ Code Challenges C++ Practice Problems C++ Syllabus C++ Study Plan


C++ algorithm merge() function

❮ Algorithm Functions


Example

Merge two vectors:

vector<int> numbers1 = {1, 4, 9, 16};
vector<int> numbers2 = {2, 4, 6, 8};
vector<int> merged(8);
merge(numbers1.begin(), numbers1.end(), numbers2.begin(), numbers2.end(), merged.begin());
for (int item : merged) {
 cout << item << " ";
}
Try it Yourself »

Definition and Usage

The merge() function copies the values from two data ranges into a different data range.

The destination data range should be large enough to contain all of the elements of the other two data ranges.

If the two data ranges are sorted then the destination data range will also be sorted.

The data ranges are specified by iterators.

Syntax

merge(iterator start1, iterator end1, iterator start2, iterator end2, iterator destination);

Parameter Values

Parameter Description
start1 Required. An iterator pointing to the start of the first data range.
end1 Required. An iterator pointing to the end of the first data range. Elements up to this position will be included, but the element at this position will not be.
start2 Required. An iterator pointing to the start of the second data range.
end2 Required. An iterator pointing to the end of the second data range. Elements up to this position will be included, but the element at this position will not be.
destination Required. An iterator pointing to the data range where the merged data will be written.

Technical Details

Returns: An iterator pointing to the end of the merged data. This is the position right after the last element in the data range.

Related Pages

Read more about data structures in our Data Structures Tutorial.

Read more about iterators in our Iterators Tutorial.

Read more about algorithms in our Algorithms Tutorial.



❮ Algorithm Functions

New

W3Schools Adventure App

Coding fundamentals as a game. Bite-sized lessons and challenges.

Ready to start your journey? Your streak is waiting.
+60 XP
W3Schools Adventure tutor
W3Schools Adventure map
×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

FORUM ABOUT ACADEMY
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookies and privacy policy.

Copyright 1999-2026 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.

AltStyle によって変換されたページ (->オリジナル) /