ArrayReverse
Đảo ngược số lượng phần tử được chỉ định trong mảng bắt đầu từ chỉ số được chỉ định.
bool ArrayReverse(
void& array[], // mảng thuộc bất kỳ loại nào
uint start=0, // chỉ số bắt đầu đảo ngược mảng
uint count=WHOLE_ARRAY // số lượng phần tử
);
2
3
4
5
Tham số
array[]
[in][out] Mảng.
start=0
[in] Chỉ số bắt đầu đảo ngược mảng.
count=WHOLE_ARRAY
[in] Số lượng phần tử được đảo ngược. Nếu là WHOLE_ARRAY
, thì tất cả các phần tử của mảng được di chuyển theo cách đảo ngược bắt đầu từ chỉ số start
được chỉ định đến cuối mảng.
Giá trị trả về
Trả về true nếu thành công, nếu không trả về false.
Ghi chú
Hàm ArraySetAsSeries() không di chuyển các phần tử của mảng một cách vật lý. Thay vào đó, nó chỉ thay đổi hướng chỉ mục ngược lại để sắp xếp việc truy cập các phần tử như trong chuỗi thời gian. Hàm ArrayReverse()
di chuyển các phần tử của mảng một cách vật lý để mảng được "đảo ngược".
Ví dụ:
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- khai báo mảng kích thước cố định và điền giá trị
int array[10];
for(int i=0;i<10;i++)
{
array[i]=i;
}
//--- hiển thị mảng trước khi đảo ngược các phần tử
Print("Before calling ArrayReverse()");
ArrayPrint(array);
//--- đảo ngược 3 phần tử trong mảng và hiển thị tập hợp mới
ArrayReverse(array,4,3);
Print("After calling ArrayReverse()");
ArrayPrint(array);
/*
Kết quả thực thi:
Before calling ArrayReverse()
0 1 2 3 4 5 6 7 8 9
After calling ArrayReverse()
0 1 2 3 6 5 4 7 8 9
*/
}
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
Xem thêm
ArrayInsert, ArrayRemove, ArrayCopy, ArrayResize, ArrayFree, ArrayGetAsSeries, ArraySetAsSeries