Algum poderia me ajudar com essa questão usando a linguagem Java?
Dada a classe lista contígua de inteiros (LCInteiro), faça um método que recebe uma lista dessa classe e retorna outra lista (dessa classe) com os elementos da primeira invertidos.
Ex.; Lista original: | 2 | 3 | 4 | 5 |
lista retornada: | 5 | 4 | 3 | 2 |
public class LCInteiro {
private int[] listaCont;
private int nElem;
public LCInteiro (int tamanho) {
this.listaCont = new int[tamanho];
this.nElem = 0;
}
public Integer getNum(int pos) {
if (pos>=0 && pos<this.nElem) {
return this.listaCont[pos];
}else {
return null;
}
}
public int getNElem() {
return this.nElem;
}
public boolean eVazio() {
if (this.nElem==0) {
return true;
}
return false;
}
public boolean eCheio() {
if (this.nElem==this.listaCont.length) {
return true;
}
return false;
}
public int inserir (int num, int pos) {
if (this.eCheio()) {
return -1;
}else if (pos>this.nElem || pos<0) {
return -2;
}else {
for (int i = this.nElem-1; i >= pos; i--) {
this.listaCont[i + 1] = this.listaCont[i];
}
this.listaCont[pos] = num;
this.nElem++;
return 0;
}
}
// pesquisa (placa)
public int pesquisa (int num) {
for (int i=0; i<this.nElem; i++) {
if (this.listaCont[i]==num) {
return i;
}
}
return -1;
}
// insereFim (Veiculo)
public int insereFim (int num) {
if (this.eCheio()) {
return -1;
}else if (this.pesquisa(num)!=-1) {
return -2;
}else {
this.listaCont[this.nElem] = num;
this.nElem++;
return 0;
}
}
// remove (num)
public int remove (int num) {
if (this.eVazio()) {
return -1;
}else {
int pos = this.pesquisa(num);
if (pos==-1) {
return -2;
}else {
this.listaCont[pos] = this.listaCont[this.nElem-1];
this.nElem--;
return 0;
}
}
}
public String toString() {
String aux = "";
for (int i=0; i<this.nElem; i++) {
aux += " | "+this.listaCont[i];
}
if (this.nElem>0) {
aux += " |";
}
return aux;
}
}