C++ Algorithm merge()C++ Algorithm merge() function is used to merge two sorted ranges [first1, last1) and [first2, last2) into one sorted range beginning at result. Elements are compared using operator < for the first version or using the given binary comparison function comp for the second version. SyntaxParameterfirst1: An input iterator pointing to the first element in the first sorted source sequence to be merged. last: A input iterator pointing to the past last element in the first sorted source sequence to be merged. first2: An input iterator pointing to the first element in the second sorted source sequence to be merged. last2: An input iterator pointing to the past last element in the second sorted source sequence to be merged. comp: A user-defined binary predicate function that accepts two arguments and returns true if the two arguments are in order and false otherwise. It follows the strict weak ordering to order the elements. val: A value of the upper bound to compare the elements in the range. result: An output iterator pointing to the first element in the destination range where the two source ranges are to be combined into a single sorted range. Return valueIt returns an iterator pointing to the past last element in the resulting sequence. ComplexityComplexity is linear: performs at most (last1-first1) + (last2 - first2) - compares and assigns all elements. Data racesThe object in the range [first1, last1) and [first2, last2) are accessed. The object in the range between result and the returned value are altered. ExceptionsThis function throws an exception if either an element comparisons or an operation on iterator throws an exception. Please note that invalid parameters cause an undefined behavior. Example 1Let's see the simple example to demonstrate the use of merge(): Output: Vector v1 : 1 2 4 5 6 Vector v2 : 10 20 30 40 50 Vector v3 : 1 2 4 5 6 10 20 30 40 50 Example 2Let's see another simple example to implement merge() function using operator < Output: The container after merging initial containers is: 1 2 3 4 6 10 20 50 60 70 Example 3Let's see another simple example to demonstrate merge() using comparison function Output: The container after reverse merging initial containers is : 70 60 50 20 10 6 4 3 2 1 Example 4Let's see another simple exampl Output: The original 1st stack: 50 20 10 100 200 The original 2nd stack: 500 2000 5000 1000 10000 The resultant stack of notes is: 10 20 50 100 200 500 1000 2000 5000 10000 Next TopicC++ Algorithm |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India