Computer >> Máy Tính >  >> Lập trình >> C ++

std ::vector ::resize () so với std ::vector ::Reserve () trong C ++

Các vectơ có khả năng tự động thay đổi kích thước giống như các mảng động khi một phần tử được chèn hoặc xóa, vùng chứa sẽ tự động xử lý bộ nhớ của chúng.

Sự khác biệt chính giữa thay đổi kích thước vectơ () và dự trữ vectơ () là thay đổi kích thước () được sử dụng để thay đổi kích thước của vectơ trong đó dự trữ () không. Reserve () chỉ được sử dụng để lưu trữ ít nhất số phần tử được chỉ định mà không cần phải phân bổ lại bộ nhớ. Nhưng trong resize () nếu số nhỏ hơn số hiện tại thì nó sẽ thay đổi kích thước bộ nhớ và xóa không gian thừa trên đó.

vector ::resize ()

 Vector resize () được sử dụng để thay đổi kích thước của nó. 

Ví dụ

Các bước trong mã nguồn:

 Begin Khai báo một biến v kiểu vectơ. Khai báo một biến khác nó dưới dạng biến lặp kiểu vectơ. Khai báo hai biến c và i khác cho kiểu dữ liệu ineger. trong khi (TRUE) in “1.Kích thước của Vectơ”. in “2.Chèn phần tử vào vectơ”. in “3.Resize vector”. print “4.Display by Iterator”. in “5. Exit”. in “Nhập Lựa chọn của bạn:”. Nhập giá trị của biến c. Chuyển (c) Trường hợp 1. In “Kích thước của Vectơ:”. Gọi hàm size () để in ra kích thước của vector. Phá vỡ. Trường hợp 2. In “Nhập giá trị cần chèn:”. Nhập giá trị của biến i. Gọi hàm push_back () để nhập các giá trị trong vectơ. Phá vỡ. Trường hợp 3. In “Thay đổi kích thước các phần tử vectơ:”. Gọi hàm resize () để thay đổi kích thước vectơ. Phá vỡ. Trường hợp 4. In “Hiển thị vectơ bằng lặp lại:”. for (it =v.begin (); it! =v.end (); it ++) in giá trị của trình lặp nó. Phá vỡ. case 5. gọi hàm exit () để thực hiện lối ra. phá vỡ. Mặc định. In “Lựa chọn sai” .End. 

Ví dụ

 #include  #include  using namespace std; int main () {vector  v; vectơ  ::trình lặp nó; int c, i; while (1) {cout <<"1.Kích thước của Vectơ" <> c; switch (c) {case 1:cout <<"Kích thước của Vector:"; cout <> i; v.push_back (i); // chèn giá trị break; case 3:cout <<"Thay đổi kích thước các phần tử vector:" < 

Đầu ra

 1.Kích thước của Phần tử Vector2.Insert vào Vector3. Thay đổi kích thước của vector4. bởi Iterator5. . Chèn phần tử vào Vector3.Resize vector4.Display by Iterator5.ExitEnter your Choice:2Nhập giá trị cần chèn:41. 2Nhập giá trị cần chèn:51. Kích thước của Phần tử Vector2.Insert vào Vector3.Resize the vector4.Display by Iterator5.ExitEnter your Choice:2Nhập giá trị cần chèn:51. Kích thước của Phần tử Vector2.Insert vào Vector3. Thay đổi kích thước vectơ. 4. Hiển thị bằng lặp lại ing Vector bằng Iterator:1 2 4 5 51. Kích thước của phần tử Vector2.Insert vào vector3. Thay đổi kích thước của vector4. Vector3.Resize the vector4.Display by Iterator5.ExitEnter your Choice:4Displaying Vector by Iterator:1 2 4 51. trước> 

vector ::Reserve ()

Dự trữ vectơ () chỉ ra rằng vectơ được tạo sao cho nó có thể lưu trữ ít nhất số phần tử được chỉ định mà không cần phân bổ lại bộ nhớ.

Thuật toán

 Begin Khai báo một biến v kiểu vectơ. Khai báo một biến khác nó dưới dạng biến lặp kiểu vectơ. Khai báo hai biến c và i khác cho kiểu dữ liệu ineger. while (1) in “1.Kích thước của Vector”. in “2.Chèn phần tử vào vectơ”. in “3.Reserve vector”. print “4.Display by Iterator”. in “5. Exit”. in “Nhập Lựa chọn của bạn:”. Nhập giá trị của biến c. Chuyển (c) Trường hợp 1. In “Kích thước của Vectơ:”. Gọi hàm size () để in ra kích thước của vector. Phá vỡ. Trường hợp 2. In “Nhập giá trị cần chèn:”. Nhập giá trị của biến i. Gọi hàm push_back () để nhập các giá trị trong vectơ. Phá vỡ. Trường hợp 3. In “Dự trữ các phần tử vectơ:”. Gọi hàm Reserve () để bảo lưu kích thước của vector. Phá vỡ. Trường hợp 4. In “Hiển thị vectơ bằng lặp lại:”. for (it =v.begin (); it! =v.end (); it ++) in giá trị của trình lặp nó. Phá vỡ. case 5. gọi hàm exit () để thực hiện lối ra. phá vỡ. Mặc định. In “Lựa chọn sai” .End. 

Ví dụ

 #include  #include  using namespace std; int main () {vector  v; vectơ  ::trình lặp nó; int c, i; while (1) {cout <<"1.Kích thước của Vectơ" <> c; switch (c) {case 1:cout <<"Kích thước của Vector:"; cout <> i; v.push_back (i); phá vỡ; case 3:cout <<"Đặt trước các phần tử vector." < 

Đầu ra


 1.Kích thước của Phần tử Vector2.Insert vào Vector3. Bảo tồn vector4. bởi Iterator5. . Chèn phần tử vào Vector3.Reserve vector4.Display bằng Iterator5.ExitEnter your Choice:2Nhập giá trị sẽ được chèn:31.Kích thước của phần tử Vector2.Insert vào Vector3. 2Nhập giá trị cần chèn:41. Kích thước của Phần tử Vector2.Insert vào Vector3.Reserve the vector4.Display by Iterator5.ExitEnter your Choice:2Nhập giá trị cần chèn:51. Đặt trước vector4. Hiển thị bởi Iterator5.ExitEnter your Choice:3 Đặt trước các phần tử vectơ.1. Kích thước của Phần tử Vector2.Insert vào Vector3. Bảo tồn véc tơ4. Vector3.Reserve the vector4.Display by Iterator5.ExitEnter your Choice:4Displaying Vector by Iterator:1 2 3 4 51.