# gsort

ordenação decrescente

## Seqüência de Chamamento

    [s, [k]]=gsort(v )
                [s, [k]]=gsort(v,flag1)
                [s, [k]]=gsort(v,flag1,flag2)

## Parâmetros

v,s

  vetor ou matriz de reais, inteiros ou strings ou sparse vector

flag1

  um string `'r'`, `'c'`,`'g'`,`'lr'` ou `'lc'`.

flag2

  um string `'i'` para ordem crescente ou `'d'` para ordem decrescente. k : vetor ou matriz de inteiros

## Descrição

`gsort` é semelhante a `sort` com propriedades adicionais. O terceiro argumento pode ser usado para escolher ordem crescente ou decrescente. O segundo argumento podem ser usado para ordens léxicas.

`[s,k]=gsort(a,'g')` e `[s,k]=gsort(a,'g','d')` são o mesmo que `[s,k]=gsort(a)`. Eles realizam uma ordenação das entradas da matriz `a`, `a` sendo vista como vetor de pilhas `a(:)` (coluna a coluna). `[s,k]=gsort(a,'g','i')` realiza a mesma operação, mas em ordem crescente.

`[s,k]=gsort(a,'lr')` ordena as linhas da matriz `a` em ordem léxica decrescente. `s` é obtida por uma permutação das linhas da matriz `a` dada pelo vetor coluna `k`) de tal modo que as linhas de `s` verificam `s(i,:) > s(j,:)` se `i<j`. `[s,k]=gsort(a,'lr','i')` realiza a mesma operação, mas em ordem léxica crescente.

`[s,k]=gsort(a,'lc')` ordena as colunas da matriz `a` em ordem léxica decrescente. `s` é obtida por uma permutação das colunas da matriz `int(a)` (ou `a`) dada pelo vetor linha `k`) ide tal modo que as colunas de `s` verificam `s(:,i) > s(:,j)` se `i<j`. `[s,k]=gsort(a,'lc','i')` realiza a mesma operação, mas em ordem léxica crescente.

Quando `v` é complexo, os elementos são ordenados pela magnitude, i.e., abs(`v`) . Apenas 'g' como segundo argumento funciona com complexos.

Se `v` tem elementos `%nan` ou `%inf` . gsort coloca esses elementos no início com o argumento `'d'` ou ao fim com o argumento `'i'`.

## Exemplos

                alr=[1,2,2;
                1,2,1;
                1,1,2;
                1,1,1];
                [alr1,k]=gsort(alr,'lr','i')
                [alr1,k]=gsort(alr,'lc','i')

                v=int32(alr)

                gsort(v)
                gsort(v,'lr','i')
                gsort(v,'lc','i')

                v=['Scilab' '2.6'
                'Scilab' '2.7'
                'Scicos' '2.7'
                'Scilab' '3.1'
                'Scicos' '3.1'
                'Scicos' '4.0'
                'Scilab' '4.0']

                gsort(v,'lr','i')
                gsort(v,'lc','i')

## Ver Também

- find

## Bibliografia

Algoritmo Quicksort.