C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でのvector::resize()とvector ::reserved()


ベクトルには、要素が挿入または削除されたときに動的配列のように自動的にサイズを変更する機能があり、コンテナはストレージを自動的に処理します。

vector resize()とvector reserved()の主な違いは、resize()がベクトルのサイズを変更するために使用されることです。reserve()は使用されません。reserve()は、少なくとも指定された要素の数を格納するためにのみ使用されます。メモリを再割り当てする必要はありません。ただし、resize()では、数値が現在の数値よりも小さい場合、メモリのサイズが変更され、その上の余分なスペースが削除されます。

vector ::resize()

ベクトルresize()は、そのサイズを変更するために使用されます。

ソースコードの手順:

Begin
   Declare a variable v of vector type.
   Declare another variable it as iterator of vector type.
   Declare another two variable c and i of the integer datatype.
   while (1) 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 “Resize the vector elements:”.
            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 vector
            break;
         case 2:
            cout<<"Enter value to be inserted: ";
            cin>>i;
            v.push_back(i); //inserting values
            break;
         case 3:
            cout<<"Resize the vector elements:"<<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
Resize the vector elements:
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

vector ::reserved()

vector reserved()は、メモリを再割り当てせずに、少なくとも指定された要素の数を格納できるようにベクトルが作成されることを示します。

ソースコードのステップ

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.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<<"Reserve the vector elements:"<<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
Reserve the vector elements:
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

  1. C++でのstd::vector ::resize()とstd ::vector ::reserved()

    ベクトルには、要素が挿入または削除されたときに動的配列のように自動的にサイズを変更する機能があり、コンテナはそれらのストレージを自動的に処理します。 vector resize()とvector reserved()の主な違いは、reserve()ではなく、resize()を使用してベクトルのサイズを変更することです。 reserved()は、メモリを再割り当てせずに、少なくとも指定された要素の数を格納するためにのみ使用されます。ただし、resize()では、数値が現在の数値よりも小さい場合、メモリのサイズが変更され、その上の余分なスペースが削除されます。 vector ::resize(

  2. C++での型推論

    型推論または推論とは、プログラミング言語での式のデータ型の自動検出を指します。これは、いくつかの強く静的に型付けされた言語に存在する機能です。 C ++では、autoキーワード(C ++ 11で追加)が自動型推定に使用されます。たとえば、ベクトルを反復処理するイテレータを作成する場合、その目的でautoを使用するだけです。 例 #include<iostream> #include<vector> using namespace std; int main() {    vector<int> arr(10);