Ordenação de dois arrays dentro de um array

9 respostas
jason_canto

Beleza pessoal, tenho uma dúvida besta, mas gostaria de uma luz.
Gostaria de criar um método que recebe dois arrays de numeros inteiros e que retorna um array ordenado.
Alguem tem alguma dica da forma mais facil para resolver isso?

public int [] ordenar(int [] a, int [] b){
//TODO 

return x; //Onde x e um array contendo a e b de forma ordenada
}

Muito obrigado pelas dicas!

9 Respostas

nandobgi

Fala ai jason_canto

Da uma olhada no método sort da classe Arrays

http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html

Abraços

jason_canto

Opa nandobgi, obrigado pela dica, mas o Arrays.sort() só ordena 1 array, não da para passar como parametro 2… :frowning:

F

jason_canto:
Beleza pessoal, tenho uma dúvida besta, mas gostaria de uma luz.
Gostaria de criar um método que recebe dois arrays de numeros inteiros e que retorna um array ordenado.
Alguem tem alguma dica da forma mais facil para resolver isso?

public int [] ordenar(int [] a, int [] b){
//TODO 

return x; //Onde x e um array contendo a e b de forma ordenada
}

Muito obrigado pelas dicas!

O método recebe 2 arrays mas você quer retornar somente um deles e ordenado é isso mesmo :?:

jason_canto

Exatamente Fabio!

jason_canto

Ops, desculpe. Não é apenas um deles, é outro array ordenado, com os valores contidos em abos arrays recebidos.

F

Bom e qual dos 2 deverá ser ordenado :?:

jason_canto

Ops, desculpe entendi a pergunta arrado. Não é apenas um deles, é outro array ordenado, com os valores contidos em abos arrays recebidos.

F
jason_canto:
Ops, desculpe entendi a pergunta arrado. Não é apenas um deles, é outro array ordenado, com os valores contidos em abos arrays recebidos.
public static int[] uneVetorOrdenado(int[]a,int[]b){
       	Arrays.sort(a);
		Arrays.sort(b);
		int t = a.length+b.length;
		int re[] = new int[t];
		int y=0;
		for(; y < a.length ;y++){
			re[y]=a[y];
		}
		
		for(int k=0; k < b.length ;k++){
			re[y]=b[k];
			y++;
		}
		Arrays.sort(re);
		return re;
		
    }

Veja se serve

A

Crie uma função para fazer o merge dos dois arrays:

  • Declare um novo array com o tamanho dos dos outros somados.

  • Copie o conteúdo de cada array de uma vez.

Depois é só usar o Arrays.sort

Criado 16 de maio de 2012
Ultima resposta 16 de mai. de 2012
Respostas 9
Participantes 4