C ++中的std :: vector :: resize()与std :: vector :: reserve()

向量具有在插入或删除元素时自动像动态数组一样自动调整大小的能力,容器可以自动处理其存储。

矢量之间的主要区别resize()和向量reserve()resize()用于指改变矢量的大小reserve()没有。reserve()仅用于存储至少指定数量的元素,而不必重新分配内存。但是,resize()如果该数字小于当前数字,则它将调整内存大小并删除其上的多余空间。

向量::: resize()

Vector resize() is used to change its size.

示例

源代码中的步骤:

Begin

   Declare a variable v of vector type.

   Declare another variable it as iterator of vector type.

   Declare another two variable c and i to the ineger datatype.

   while (TRUE) do

      print “1.Size of the Vector”.

      print “2.Insert Element into the Vector”.

      print “3.Resize the vector”.

      print “4.Display by Iterator”.

      print “5.Exit”.

      print “Enter your Choice:”.

      Enter the value of variable c.

      Switch(c)

         Case 1.

            Print “Size of Vector:”.

            Call size() function to print the size of the vector.

            Break.

         Case 2.

            Print “Enter value to be inserted:”.

            Enter the value of variable i.

            Call push_back() function to input the values in the vector.

            Break.

         Case 3.

            Print “调整矢量元素的大小:”.

            Call resize() function to resize the vector.

            Break.

         Case 4.

           Print “Displaying Vector by Iterator:”.

            for (it = v.begin(); it != v.end(); it++)

               print the value of iterator it.

            Break.

         case 5.

            call exit() function to take exit.

            break.

         Default.

            Print “Wrong choice”.

End.

示例

#include <iostream>

#include <vector>

using namespace std;

int main() {

   vector<int> v;

   vector<int>::iterator it;

   int c, i;

   while (1) {

      cout<<"1.Size of the Vector"<<endl;

      cout<<"2.Insert Element into the Vector"<<endl;

      cout<<"3.Resize the vector"<<endl;

      cout<<"4.Display by Iterator"<<endl;

      cout<<"5.Exit"<<endl;

      cout<<"Enter your Choice: ";

      cin>>c;

      switch(c) {

         case 1:

            cout<<"Size of Vector: ";

            cout<<v.size()<<endl; //printing the size of the vector

            break;

         case 2:

            cout<<"Enter value to be inserted: ";

            cin>>i;

            v.push_back(i); //inserting values

            break;

         case 3:

            cout<<"调整矢量元素的大小:"<<endl;

            v.resize(4); //resize the vector

            break;

         case 4:

            cout<<"Displaying Vector by Iterator: ";

            for (it = v.begin(); it != v.end(); it++) //printing all values of the vector {

               cout<<*it<<" ";

            }

            cout<<endl;

            break;

         case 5:

            exit(1);

            break;

         default:

            cout<<"Wrong Choice"<<endl;

      }

   }

   return 0;

}

输出结果

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 1

Size of Vector: 0

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 1

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 2

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 4

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 5

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 5

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 4

Displaying Vector by Iterator: 1 2 4 5 5

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 3

调整矢量元素的大小:

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 4

Displaying Vector by Iterator: 1 2 4 5

1.Size of the Vector

2.Insert Element into the Vector

3.Resize the vector

4.Display by Iterator

5.Exit

Enter your Choice: 5

向量::: reserve()

向量reserve()表示创建了向量,以便它可以存储至少指定数目的元素而无需重新分配内存。

算法

Begin

   Declare a variable v of vector type.

   Declare another variable it as iterator of vector type.

   Declare another two variable c and i to the ineger datatype.

   while (1) do

      print “1.Size of the Vector”.

      print “2.Insert Element into the Vector”.

      print “3.Reserve the vector”.

      print “4.Display by Iterator”.

      print “5.Exit”.

      print “Enter your Choice:”.

      Enter the value of variable c.

      Switch(c)

         Case 1.

            Print “Size of Vector:”.

            Call size() function to print the size of the vector.

            Break.

         Case 2.

            Print “Enter value to be inserted:”.

            Enter the value of variable i.

            Call push_back() function to input the values in the vector.

            Break.

         Case 3.

            Print “Reserve the vector elements:”.

            Call reserve() function to reserve the size of the vector.

               Break.

         Case 4.

            Print “Displaying Vector by Iterator:”.

            for (it = v.begin(); it != v.end(); it++)

               print the value of iterator it.

            Break.

         case 5.

            call exit() function to take exit.

            break.

      Default.

         Print “Wrong choice”.

End.

示例

#include <iostream>

#include <vector>

using namespace std;

int main() {

   vector<int> v;

   vector<int>::iterator it;

   int c, i;

   while (1) {

      cout<<"1.Size of the Vector"<<endl;

      cout<<"2.Insert Element into the Vector"<<endl;

      cout<<"3.Reserve the vector"<<endl;

      cout<<"4.Display by Iterator"<<endl;

      cout<<"5.Exit"<<endl;

      cout<<"Enter your Choice: ";

      cin>>c;

      switch(c) {

         case 1:

            cout<<"Size of Vector: ";

            cout<<v.size()<<endl;

            break;

         case 2:

            cout<<"Enter value to be inserted: ";

            cin>>i;

            v.push_back(i);

            break;

         case 3:

            cout<<"保留向量元素。"<<endl;

            v.reserve(100); //reserve the vector elements

            break;

         case 4:

            cout<<"Displaying Vector by Iterator: ";

            for (it = v.begin(); it != v.end(); it++) {

               cout<<*it<<" ";

            }

            cout<<endl;

            break;

         case 5:

            exit(1);

            break;

         default:

            cout<<"Wrong Choice"<<endl;

      }

   }

   return 0;

}

输出结果


1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 1

Size of Vector: 0

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 1

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 2

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 3

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 4

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 2

Enter value to be inserted: 5

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 3

保留向量元素。

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 4

Displaying Vector by Iterator: 1 2 3 4 5

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

Enter your Choice: 4

Displaying Vector by Iterator: 1 2 3 4 5

1.Size of the Vector

2.Insert Element into the Vector

3.Reserve the vector

4.Display by Iterator

5.Exit

以上是 C ++中的std :: vector :: resize()与std :: vector :: reserve() 的全部内容, 来源链接: utcz.com/z/350159.html

回到顶部