C++ How to merge sorted vectors into a sorted vector / pop the least element from all of them?
I have a collection of about a hundred or so sorted vector<int>'s   Although most vectors have a small number of integers in them, some of the vectors contain a large (>10K) of them (thus the vectors don't necessarily have the same size). 

WhatI'd like to do essentially iterate through smallest to largest integer, that are contained in all these sorted vectors.

One way to do it would be to merge all these sorted vectors into a sorted vector & simply iterate. Thus,

**Question 1:** What is the fastest way to merge sorted vectors into a sorted vector?

I'm sure on the other hand there are more clever ways to accomplish this -- popping the smallest integer iteratively from this collection of sorted vectors; without merging them first, so:

**Question 2:** What is the fasted / best way to pop the least element from a bunch of sorted vector<int>'s?
C++ How to merge sorted vectors into a sorted vector / pop the least element from all of them?
===

I have a collection of about a hundred or so sorted vector<int>'s   Although most vectors have a small number of integers in them, some of the vectors contain a large (>10K) of them (thus the vectors don't necessarily have the same size). 

WhatI'd like to do essentially iterate through smallest to largest integer, that are contained in all these sorted vectors.

One way to do it would be to merge all these sorted vectors into a sorted vector & simply iterate. Thus,

**Question 1:** What is the fastest way to merge sorted vectors into a sorted vector?

I'm sure on the other hand there are more clever ways to accomplish this -- popping the smallest integer iteratively from this collection of sorted vectors; without merging them first, so:

**Question 2:** What is the fasted / best way to pop the least element from a bunch of sorted vector<int>'s?