Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.stsci.edu/~sontag/spicedocs/cspice/reordi_c.html
Дата изменения: Sat Dec 17 06:09:34 2005 Дата индексирования: Mon Apr 11 00:08:02 2016 Кодировка: Поисковые слова: вечный календарь |
Re-order the elements of an integer array according to a given order vector.
None.
VARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- iorder I Order vector to be used to re-order array. ndim I Dimension of array. array I/O Array to be re-ordered.
iorder is the order vector to be used to re-order the input array. The first element of iorder is the index of the first item of the re-ordered array, and so on. Note that the order imposed by reordi_c is not the same order that would be imposed by a sorting routine. In general, the order vector will have been created (by one of the order routines) for a related array, as illustrated in the example below. The elements of iorder range from zero to ndim-1. ndim is the number of elements in the input array. array on input, is an array containing some number of elements in unspecified order.
array on output, is the same array, with the elements in re-ordered as specified by iorder.
None.
reordi_c uses a cyclical algorithm to re-order the elements of the array in place. After re-ordering, element iorder[0] of the input array is the first element of the output array, element iorder[1] is the input array is the second element of the output array, and so on. The order vector used by reordi_c is typically created for a related array by one of the order*_c routines, as shown in the example below.
In the following example, the order*_c and reord*_c routines are used to sort four related arrays (containing the names, masses, integer ID codes, and visual magnitudes for a group of satellites). This is representative of the typical use of these routines. #include "SpiceUsr.h" . . . /. Sort the object arrays by name. ./ orderc_c ( namlen, names, n, iorder ); reordc_c ( iorder, n, namlen, names ); reordd_c ( iorder, n, masses ); reordi_c ( iorder, n, codes ); reordd_c ( iorder, n, vmags );
None.
1) If memory cannot be allocated to create a Fortran-style version of the input order vector, the error SPICE(MALLOCFAILED) is signaled. 2) If ndim < 2, this routine executes a no-op. This case is not an error.
None.
N.J. Bachman (JPL) W.L. Taber (JPL) I.M. Underwood (JPL)
None.
-CSPICE Version 1.0.0, 10-JUL-2002 (NJB) (WLT) (IMU)
reorder an integer array