Se não me engano o método sort() da classe Collections utiliza o MergeSort para fazer ordenação.
Vc pode dar uma olhada no fonte do mesmo para te auxiliar.
Cara, q tipow, o problema nao é o merge e o busca binaria q tem pronto +, eu nao estou sabendo adaptar ao meu programa, como vou ordenar um vector q tem 100 alunos dentro, caso eu queira ordenar por Codigo de Matricula…
nao sei como aplicar marge e busca binaria neste caso. usando o vector com todos os alunos q tem q obter o codigo de matricula de cada 1!
Basta vc implementar a interface Comparable na sua classe Aluno.
Implementando o método int compareTo(Object o) que retorna um inteiro maior, menor ou igual a 0 dependendo do seu tratamento.
Assim, se vc fizer este tratamento pelo Código de Matrícula vc consegue saber qual é maior ou menor quando comparadas duas instâncias de Aluno.
Ai é só adaptar o algoritmo.
Lembrando que vc implementando Comparable na sua classe Aluno, quando vc utilizar o método sort() da classe Collections no seu Vector ele já fará o MergeSort pra vc atráves do compareTo que vc implementou.