public class BubblesSortLista{
public static void main (String Args []){
int vetor []= {3,6,2,1,8,4};
int aux;
boolean controle;
for (int i=0; i<vetor.length; ++i){
controle=true;
for(int j=0; j<(vetor.length -1 ); ++j){
if(vetor[i]>vetor[j+1]){ // se for < decrementa
aux=vetor[j];
vetor[j]=vetor[j+1];
vetor[j+1]=aux;
controle =false;
}
}
if(controle){
break;
}
}
}
}
//Como posso imprimir este array ?
Para imprimir o array você pode simplesmente usar o for
for(int i=0; i<vetor.length; i++) {
System.out.println(vetor[i]);
}
ou o enhanced-for ou “for melhorado”
for(int n : vetor) {
System.out.println(n);
}
Está imprimindo assim
1
3
6
4
2
8
tem alguma ideia do que seja o problema ?
Você está tentando imprimir o array ordenado? se for o caso você pode usar o método Arrays.sort(vetor)
Cara, se usou o exemplo dado pelo @Gabriel_Manoel, impossível ter essa saída no console.
Essa saída foi por meio de qual método? O seu da descrição ou o sugerido? Para listar os elementos do array - unicamente - basta usar uma das duas opções de for sugeridas acima.
como posso usar esse método ?
int[] vetor = {3,6,2,1,8,4};
Arrays.sort(vetor);
for(int n : vetor) {
System.out.println(n);
}
vai sair o seguinte
1
2
3
4
6
8
Troque
System.out.println(n);
por
System.out.print(n + " "); //tira ln e deixa só print
Se observar o exercicio dele se chama BubbleSort
, o que leva a entender que ele deve implementar a ordenação BubbleSort
e não utilizar o método pronto Arrays.sort
, é um exercício comum em disciplinas de estruturas de dados.
Exemplo:
public class BubblesSortLista {
public static void main (String Args []){
try {
BubblesSortLista programa = new BubblesSortLista();
programa.executar();
} catch (Throwable t) {
t.printStackTrace();
}
}
private void executar() {
int[] vetor = { 3, 6, 2, 1, 8, 4 };
imprime("antes", vetor);
bubbleSort(vetor);
imprime("depois", vetor);
}
private void imprime(String mensagem, int[] vetor) {
System.out.println(mensagem + " {");
for (int i = 0; i < vetor.length; i++) {
System.out.println(" " + vetor[i]);
}
System.out.println("}");
}
private void bubbleSort(int[] vetor) {
boolean trocou = false;
do {
houveTroca = false;
for (int i = 0; i < vetor.length - 1; i++) {
if (vetor[i] > vetor[i + 1]) {
int troca = vetor[i];
vetor[i] = vetor[i + 1];
vetor[i + 1] = troca;
houveTroca = true;
}
}
} while (houveTroca);
}
}
1 curtida