gpt4 book ai didi

java - 在Java中按升序对整数数组进行排序

转载 作者:搜寻专家 更新时间:2023-11-01 01:45:03 26 4
gpt4 key购买 nike

如何在 Java 中按升序排列整数数组?我有类(class)和 Pilha.java Ordenacao.Java,但程序无法运行。

Pilha.java

package lista03Pilhas;

public class Pilha {

// indica qual o tamanho maximo da pilha (tamanho maximo do vetor)
private int tamanhoMaximo;
// indica o topo da pilha (quantidade de itens do vetor)
private int topo;
// cria o vetor que ira implementar a pilha
private Object[] vetorPilha;
// construtor que recebe como parametro o tamanho da pilha (tamanho do vetor)

public Pilha(int length) {
// indica o tamanho da pilha (vetor)
tamanhoMaximo = length;
// instancia o vetor com o tamanho informado
vetorPilha = new Object[length];
// faz com que o apontador do topo indique que não há elementos na pilha
topo = -1;
}

// funcao que insere um objeto no topo da pilha
public void push(Object obj) {
// incrementa o topo (desloca para cima)
topo++;
// coloca o novo objeto na pilha
vetorPilha[topo] = obj;
}

// funcao que remove um objeto do topo da pilha
public Object pop() {

// verifica se a pilha esta vazia
if (topo < 0) {
return null;
} else {

// obtem o objeto do topo da pilha
Object auxiliar = vetorPilha[topo];

// decrementa o topo (desce um item na pilha)
topo--;

// retorna o elemento do topo da pilha
return auxiliar;
}
}

// funcao que verifica quem esta no topo da pilha
public Object top() {

// verifica se a pilha esta vazia
if (topo < 0) {
return null;
} else {
return vetorPilha[topo];
}
}

// verifica se a pilha esta vazia
public boolean isEmpty() {

// verifica se o topo aponta para algum indice valido do vetor
if (topo == -1) {
return true;
} else {
return false;
}
}

// verifica se a pilha esta cheia
public boolean isFull() {

// verifica se o topo aponta para o ultimo elemento do vetor
if (topo == tamanhoMaximo - 1) {
return true;
} else {
return false;
}
}
}

Ordenacao.java

package lista03Pilhas;

public class Ordenacao {

public static int[] ordenarDecrescente(int v[]) {
Pilha minhaPilha = new Pilha(v.length);
recebePilha(minhaPilha);
int vetor[] = new int[v.length];
for (int i = 0; i < v.length; i++) {
vetor[i] = v[i];
minhaPilha.push(vetor[i]);

}
int u = ((Integer) minhaPilha.pop()).intValue();
return vetor;
}

public static void recebePilha(Pilha pilha){

}
}

主程序.java

package lista03Pilhas;

import java.util.Arrays;
import java.util.Scanner;

public class Lista03Pilhas {

public static void main(String[] args) {
int v[] = new int[]{100, 20, 15, 9, 8, 7, 1};
System.out.println("Vetor:" + Arrays.toString(Ordenacao.ordenarDecrescente(v)));

int p;
int m;

Scanner ent = new Scanner(System.in);
int[] ordenarDecrescente = Ordenacao.ordenarDecrescente(v);
Pilha minhaPilha = new Pilha(v.length);
for (int i = 0; i < v.length; i++) {
minhaPilha.push(v[i]);
Object menor = minhaPilha.pop();
System.out.print(minhaPilha.pop());
}
System.out.println("");
for (int i = 0; i < v.length; i++) {
System.out.print(v[i] + " ");
}

}
}

最佳答案

How do I put in ascending order an array of integers in Java?

通过使用 Arrays.sort() :

int[] arr = ...;
Arrays.sort(arr);

关于java - 在Java中按升序对整数数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com