Scilab Function
Last update : April 1993

sort - decreasing order sorting

### Calling Sequence

  `[s, [k]]=sort(v)`
  `[s, [k]]=sort(v,'r')`
  `[s, [k]]=sort(v,'c')`

### Parameters

- `v`: real or complex vector/matrix; sparse vector; character string vector/matrix
- `s`: real or complex vector or matrix; sparse vector; character string vector/matrix
- `k`: vector or matrix of integers

### Description

`s=sort(v)` sorts `v` in decreasing order. If `v` is a matrix, sorting is done columnwise, `v` being seen as the stacked vector `v(:)`. `[s,k]=sort(v)` gives in addition the indices of entries of `s` in `v`, i.e. `v(k(:))` is the vector `s`.

`s=sort(v,'r')` sorts the rows of `v` in decreasing order i.e. each column of `s` is obtained from each column of `v` by reordering it in decreasing order. `[s,k]=sort(v,'r')` returns in addition in each column of `k` the indices such that `v(k(:,i),i)=s(:,i)` for each column index `i`.

`s=sort(v,'c')` sorts the columns of `v` in decreasing order i.e. each row of `s` is obtained from each row of `v` by reordering it in decreasing order. `[s,k]=sort(v,'c')` returns in addition in each row of `k` the indices such that `v(i,k(i,:))=s(i,:)` for each row index `i`.

Complex matrices or vectors are sorted w.r.t their magnitude.

`y=sort(A)` is valid when `A` is a sparse vector. Column/row sorting is not implemented for sparse matrices.

### Examples

    [s,p]=sort(rand(1,10));
    //p  is a random permutation of 1:10
    A=[1,2,5;3,4,2];
    [Asorted,q]=sort(A);A(q(:))-Asorted(:)
    v=1:10;
    sort(v)
    sort(v')
    sort(v,'r')  //Does nothing for row vectors
    sort(v,'c')

### See Also

`find`,