A descrição da API da Java da classe Matriz é: esta classe contém vários métodos usados para manipular matrizes (como classificação e pesquisa).
1. Classificar matrizes de tipos de dados básicos
ilustrar:
(1) classificar () na classe Matriz usa "Método de classificação rápida ajustada";
(2) Por exemplo, matrizes de tipos de dados de base, como int [], duplo [], char [], etc., a classe Matriz fornece apenas o arranjo de ordem ascendente padrão e não fornece o método de arranjo de ordem descendente correspondente.
(3) Para classificar as matrizes de tipos básicos em ordem decrescente, você precisa converter essas matrizes em matrizes de classe encapsuladas correspondentes, como inteiro [], duplo [], personagem [] etc., para classificar essas matrizes de classe. (Na verdade, é melhor classificar a ordem ascendente primeiro e transformá -la na ordem você mesmo).
Classificar as matrizes em ordem ascendente padrão
Função Prototipo: classificação de vazio estático (int [] a) Classifique a matriz do tipo int especificada em ordem ascendente.
Class de vazio estático (int [] a, int a partir deindex, int toIndex) Classifique a faixa especificada de uma matriz de tipo int em números ascendentes.
Exemplo de código:
A cópia do código é a seguinte:
importar java.util.arrays;
classe pública ArraysSort_11 {
public static void main (string args [])
{
int [] a = {1,4, -1,5,0};
Arrays.sort (a);
// O conteúdo da matriz A [] torna-se {-1,0,1,4,5}
for (int i = 0; i <a.Length; i ++)
System.out.print (a [i]+"");
}
}
2. Classifique os dados dos tipos de dados compostos
Prototipo de função:
(1) Public Static <t> void Sort (t [] a, comparador c) Classifique a matriz de objeto especificada de acordo com a ordem gerada pelo comparador especificado.
(2) Public Static <t> void Sort (t [] a, int a partir de Index, int toIndex, comparador c) Classifique o intervalo especificado da matriz de objeto especificada de acordo com a ordem gerada pelo comparador especificado.
NOTA: Esses dois algoritmos de classificação são algoritmo de "triagem de mesclagem".
Exemplo de código:
A cópia do código é a seguinte:
pacote AA;
importar java.util.arrays;
importar java.util.comparator;
classe pública Arraysort {
Ponto [] arr;
Arraysort () {
arr = novo ponto [4];
para (int i = 0; i <4; i ++)
arr [i] = new Point ();
}
public static void main (string [] args) {
Arraysort Sort = new ArraySort ();
Sort.arr [0] .x = 2; Sort.arr [0] .y = 1;
Sort.arr [1] .x = 2; Sort.arr [1] .y = 2;
Sort.arr [2] .x = 1; Sort.arr [2] .y = 2;
Sort.arr [3] .x = 0; Sort.arr [3] .y = 1;
Arrays.sort (Sort.arr, New MyComprator ());
para (int i = 0; i <4; i ++) // Resultado de classificação de saída
System.out.println ("("+sort.arr [i] .x+","+sort.arr [i] .y+")");
}
}
Classe Point {
int x;
int y;
}
// Comparador, as coordenadas x são classificadas de pequeno a grande;
classe MyComprator implementa o comparador {
public int compare (objeto arg0, objeto arg1) {
Ponto t1 = (ponto) arg0;
Ponto t2 = (ponto) arg1;
if (t1.x! = t2.x)
retornar t1.x> t2.x?
outro
retornar t1.y> t2.y?
}
}