Q189
What will be the output of the following C++ code? #include #include #include using namespace std; void Display(const vector & vi) for (size_t i = 0; i vi; vi.push_back(3); vi.push_back(5); sort(vi.begin(), vi.end()); Display(vi); while(next_permutation(vi.begin(), vi.end())) Display(vi); return 0;
A.
3 5
B.
5 3
C.
5 3
3 5
Answer3 5
D.
3 3
Answer: Option C
Solution
Answer: Option C
Solution:
The C++ code uses the STL functions sort() and next_permutation() to display permutations of a vector.Initially, the vector vi contains two elements: 3 and 5.
The sort(vi.begin(), vi.end()) function arranges the elements in ascending order, so the first output will be 3 5.
Then, the next_permutation() function rearranges the vector to the next lexicographical permutation, which will be 5 3, and it is displayed after sorting.
After this, there are no more permutations, so the loop terminates.
Thus, the output will be: 5 3 3 5.