Fórum FILA CIRCULAR #401656
25/05/2011
0
insere corretamente, alquem poderia me ajudar por favor ...
[CODE]public class FilaCircular { static final int TAMANHO = 5;; //-- tamanho do arranjo
/* outros elementos constantes do item*/
static int inicio;
static int fim;
static int[]vetor = new int[TAMANHO];
public void iniciarFilaC(){
inicio = vetor.length -1;
fim = vetor.length - 1;
}
public static boolean filaCVazia (){
if(fim==inicio){
return true;
}
else{
return false;
}
}
public boolean filaCCheia (){
int posicao;
if (fim == vetor.length-1){
posicao = 0;
} else{
posicao = fim + 1;
}
if (inicio== posicao){
return true;
}
else{
return false;
}
}
public void incluirFilaC (int valor){
if (filaCCheia()){
System.out.print("erro");
}
//-- ocorreu transbordo da capacidade (overflow)
else if (fim < vetor.length - 1){
fim = fim + 1;
print();
}
else{
fim = 0;
}
vetor[fim ] = valor;
System.out.println("Inserindo elemento:" + vetor[fim]);
}
public int removerFilaC (){
int valor;
if (filaCVazia()){
System.out.print("erro");
}
else if (inicio < vetor.length - 1){
inicio = inicio + 1;
print();
}
else{
inicio = 0;
}
valor = vetor[inicio];
System.out.println("removendo elemento:" + vetor[inicio]);
return valor;
}
public void print() {
System.out.println("***********************************************");
System.out.println("Fila=[inicio=0, fim=" + fim + "]");
for (int i = 0; i < fim; i++) {
System.out.println("Elemento na pos " + i + ", valor:" + vetor[i]);
}
System.out.println(" "); }
public static void main(String[] args) {
FilaCircular f = new FilaCircular();
f.incluirFilaC(8);
f.incluirFilaC(6);
f.incluirFilaC(10);
f.removerFilaC();
for(int i=0;i
Edmilson Reis
Curtir tópico
+ 0Posts
25/05/2011
Dyego Carmo
Valeu !
Gostei + 0
25/05/2011
Edmilson Reis
Gostei + 0
29/05/2011
Robson Teixeira
public class FilaCircular {
static final int TAMANHO_INICIAL = 5; //-- tamanho inicial
private int quantidade=0;
private Integer[]vetor = new Integer[TAMANHO_INICIAL];
public boolean isFilaVazia (){
return quantidade==0;
}
public boolean isFilaCheia(){
for (Integer elementFila : vetor) {
if(elementFila==null){
return false;
}
}
return true;
}
public void incluirFilaC (int valor){
if (isFilaCheia()){
//Copia os valores para o vetor auxiliar acrecendo de mais um espaço
// e retorna para vetor.
Integer filaNova [] = new Integer [vetor.length+1];
for (int i = 0; i < vetor.length; i++) {
filaNova[i]= vetor[i];
}
vetor=filaNova;
quantidade++;
return;
}
int pos=0;
for (Integer elementFila : vetor){
if(elementFila==null){
vetor[pos]=valor;
quantidade++;
break;
}
pos++;
}
}
public void removerFilaC (){
if(isFilaVazia()){
System.out.println("Erro ao Remover da fila pois a mesma está vazia");
return;
}
Integer filaNova [] = new Integer [vetor.length-1];
for (int i = 1; i < vetor.length; i++) {
filaNova[i-1]= vetor[i];
}
vetor=filaNova;
quantidade--;
print();
}
public void print() {
System.out.println("***********************************************");
System.out.println("Fila=[inicio=0, fim=" + quantidade + "]");
for (int i = 0; i < quantidade; i++) {
System.out.println("Elemento na pos " + i + ", valor:" + vetor[i]);
}
System.out.println(" ");
}
public static void main(String[] args) {
FilaCircular f = new FilaCircular();
f.incluirFilaC(8);
f.incluirFilaC(6);
f.incluirFilaC(10);
f.incluirFilaC(1);
f.incluirFilaC(7);
f.incluirFilaC(5);
f.removerFilaC();
}
}
espero ter ajudado
att
robson
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)