cshift(A, shift [, dim]):循环移位

数组元素的循环移位。

声明

语法

retval = cshift(A, shift [, dim])
integer function cshift(A, shift, [, dim])

参数

A 为任何类型或维度的输入数组。

shift 为整型类型的输入值。

dim 可选维度,如果存在,cshift 返回此维度的结果。

返回值

返回值与数组输入参数 A 的类型与维度相同。

描述

cshift(A, shift [, dim]) 沿 dim 的维度对 A 数组的元素执行循环移位。当 dim 未传递时使用,dim 的默认值为 1。

如果数组的维度数为 1,则数组的所有元素都会移动 shift 位。如果维度数大于 1,则沿给定维度的数组元素都被移动。

元素从每一列的一端移出,在另一端移回。

类型

支持的参数类型是 A 的数组和 shiftdim 的整数。

示例

program intrinsics_cshift
    implicit none
	integer, dimension(5):: a = [1, 2, 3, 4, 5]
	print '(5i3)', a
	a = cshift(a, shift = 2)
    print *, size(A, 2)
end program

结果

1, 2, 3
4, 5, 1

也可以看看