This quiz tests your knowledge of C++ Set and Multiset containers and their associated operations. It contains 10 MCQs.
Question 1
What is the output of the following code?
#include <iostream> #include <set> int main() { std::multiset<int> s {1, 2, 3, 3, 3, 4, 4, 5}; std::cout << s.count(3) << std::endl; return 0; }
3
2
5
8
Question 2
What is the output of the following code?
#include <iostream> #include <set> int main() { std::multiset<int> s {1, 2, 3, 3, 3, 4, 4, 5}; s.erase(3); for (auto it = s.begin(); it != s.end(); ++it) { std::cout << *it << " "; } std::cout << std::endl; return 0; }
1 2 3 4 5
1 2 4 4 5
1 2 4 5
2 4 5
Question 3
What will be the output of the following C++ program?
#include <bits/stdc++.h>
using namespace std;
int main()
{
multiset<int> s;
s.insert(10);
s.insert(15);
s.insert(13);
for (auto it = s.begin(); it != s.end(); it++)
cout << *it << " ";
cout<<endl;
// when 10 is present
auto it = s.upper_bound(10);
cout << (*it) << endl;
return 0;
}
c
10 13 15
13
10 15 13
13
13 15 10
15
15 13 10
10
Question 4
What is the time complexity of clearing all elements from a multiset in the STL?
O(1)
O(n)
O(log n)
O(n log n)
Question 5
Which of the following statements about the multiset container class in the STL is NOT true?
A multiset is an ordered container that can store duplicate elements.
A multiset has fast element insertion and search times.
A multiset does not allow element modification or removal.
A multiset has constant time complexity for element access.
Question 6
What will be the output of the following C++ code?
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = { 14, 12, 15, 11, 10 }; set<int> s(arr, arr + 5); for (auto it = s.cbegin(); it != s.cend(); it++) cout << *it << " "; return 0; }
10 11 12 14 15
12 14 15
15 14 13 12 11
13 12 11
Question 7
What is the return type of the find() member function of the set container class in the STL?
int
bool
iterator
const_iterator
Question 8
What is the main difference between a set and a vector in the STL?
A set is an ordered container, while a vector is an unordered container.
A set stores only unique elements, while a vector can store duplicate elements.
A set has constant time complexity for element insertion, while a vector has linear time complexity.
A set has constant time complexity for element access, while a vector has linear time complexity.
Question 9
Which of the following statements about the set container class in the STL is NOT true?
A set is an ordered container that stores only unique elements.
A set has fast element insertion and search times.
A set is implemented as a binary search tree.
A set does not allow element modification or removal.
Question 10
What is the time complexity of searching for an element in a set in the STL?
O(1)
O(n)
O(log n)
O(n log n)
There are 10 questions to complete.