Resize
Trả về một ma trận mới với hình dạng và kích thước đã thay đổi.
cpp
bool matrix::Resize(
const ulong rows, // số hàng mới
const ulong cols, // số cột mới
const ulong reserve=0 // lượng dự trữ tính bằng số phần tử
);
bool vector::Resize(
const ulong size, // kích thước mới
const ulong reserve=0 // lượng dự trữ tính bằng số phần tử
);
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Tham số
rows
[in] Số hàng mới.
cols
[in] Số cột mới.
Giá trị trả về
Trả về true
nếu thành công, false
nếu không.
Ghi chú
Ma trận (hoặc vector) được xử lý tại chỗ. Không tạo bản sao. Có thể chỉ định bất kỳ kích thước nào, tức là rows_new*cols_new!=rows_old*cols_old
. Không giống như Reshape
, ma trận được xử lý theo từng hàng. Khi tăng số cột, giá trị của các cột bổ sung không được xác định. Khi tăng số hàng, giá trị của các phần tử trong các hàng mới không được xác định. Khi giảm số cột, mỗi hàng của ma trận bị cắt ngắn.
Ví dụ
cpp
matrix matrix_a={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
Print("matrix_a\n",matrix_a);
matrix_a.Resize(2,6);
Print("Ressize(2,6)\n",matrix_a);
matrix_a.Resize(3,5);
Print("Resize(3,5)\n",matrix_a);
matrix_a.Resize(2,4);
Print("Resize(2,4)\n",matrix_a);
/*
matrix_a
[[1,2,3]
[4,5,6]
[7,8,9]
[10,11,12]]
Ressize(2,6)
[[1,2,3,4,5,6]
[4,5,6,10,11,12]]
Resize(3,5)
[[1,2,3,4,5]
[4,5,6,10,11]
[11,12,3,8,8]]
Resize(2,4)
[[1,2,3,4]
[4,5,6,10]]
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26