向量一旦声明,其所有值都将初始化为零。下面是一个示例代码来演示相同的内容。
// C++ program for displaying the default initialization
// of the vector vect[]
#include
using namespace std;
int main()
{
// Creating a vector of size 8
vector vect(8);
// Printing default values
for (int i=0; i
输出 :
0 0 0 0 0 0 0 0
如果我们希望将向量初始化为特定值,例如1,该怎么办?为此,我们可以将值与向量的大小一起传递。
// C++ program for displaying specified initialization
// of the vector vect[]
#include
using namespace std;
int main ()
{
// Creates a vector of size 8 with all initial
// values as 1.
vector vect(8, 1);
for (int i=0; i
输出 :
1 1 1 1 1 1 1 1
如果我们希望将前4个值初始化为100并将其余6个值初始化为200怎么办?
一种方法是手动为向量中的每个位置提供一个值。 STL中提供的其他方法(标准模板库)是fill和fill_n。
- 充满()
“填充”函数将值“ val”分配给[begin,end)范围内的所有元素,其中“ begin”是初始位置,“ end”是最后位置。注意:请注意,“ begin”已包含在范围内,但“ end”未包含在内。以下是演示“填充”的示例:
// C++ program to demonstrate working of fill() #include
using namespace std; int main () { vector vect(8); // calling fill to initialize values in the // range to 4 fill(vect.begin() + 2, vect.end() - 1, 4); for (int i=0; i 输出 :
0 0 4 4 4 4 4 0
- fill_n()
在fill_n()中,我们指定开始位置,要填充的元素数和要填充的值。以下代码演示了fill_n的用法。// C++ program to demonstrate working of fil_n() #include
using namespace std; int main() { vector vect(8); // calling fill to initialize first four values // to 7 fill_n(vect.begin(), 4, 7); for (int i=0; i 输出 :
7 7 7 7 0 0 0 0 7 7 7 4 4 4 0 0
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。