Reshape
Thay đổi hình dạng của một ma trận mà không thay đổi dữ liệu của nó.
cpp
void Reshape(
const ulong rows, // số hàng mới
const ulong cols // số cột mới
);
1
2
3
4
2
3
4
Tham số
rows
[in] Số hàng mới.
cols
[in] Số cột mới.
Ghi chú
Ma trận đượ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
. Khi bộ đệm ma trận được tăng lên, các giá trị bổ sung sẽ không được xác định.
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.Reshape(2,6);
Print("Reshape(2,6)\n",matrix_a);
matrix_a.Reshape(3,5);
Print("Reshape(3,5)\n",matrix_a);
matrix_a.Reshape(2,4);
Print("Reshape(2,4)\n",matrix_a);
/*
matrix_a
[[1,2,3]
[4,5,6]
[7,8,9]
[10,11,12]]
Reshape(2,6)
[[1,2,3,4,5,6]
[7,8,9,10,11,12]]
Reshape(3,5)
[[1,2,3,4,5]
[6,7,8,9,10]
[11,12,0,3,0]]
Reshape(2,4)
[[1,2,3,4]
[5,6,7,8]]
*/
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
27
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
27