Descrição do algoritmo: Para um determinado conjunto de registros, primeiro se fundem a cada duas subsequências adjacentes do comprimento 1 para obter N/2 (arredondadas para cima), ordenadas subsequências de comprimento 2 ou 1 e depois mesclá -las em pares e repita esse processo até que uma sequência ordenada seja obtida.
Classificação de pacotes;/*** Mesclar classificação* média O (nLogn), melhor O (nLogn), pior O (nLogn); complexidade espacial o (n); estável; mais complexo * @author zeng * */public classe Mescorre {public static void mescle (int [] a, int start, int mid, int end) {int [] tmp = new int [a.Length]; System.out.println ("Merge" + Start + "~" + end); Int = Start 1! (a [i] <a [j]) tmp [k ++] = a [i ++]; else tmp [k ++] = a [j ++];} while (i! = mid+1) tmp [k ++] = a [i ++]; while (j! "); System.out.println ();} estático void Mergesort (int [] a, int start, int end) {if (start <end <end) {int mid = (start + end)/ 2; mesmort (a, start, mid); // ergesort encomendado (a, mid + 1, end);); {int [] b = {49, 38, 65, 97, 76, 13, 27, 50}; Mergesort (b, 0, b.Length - 1);}}Vamos dar uma olhada nos resultados da operação:
Resumir
O exposto acima é todo o conteúdo deste artigo sobre a simples implementação da classificação de mesclagem de algoritmos de classificação Java. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!