1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Estrutura de Dados - Exercício Dificílimo

Um lava-rápido tem capacidade máxima de atendimento de 5 carros (um que está sendo lavado e quatro em espera). Cada lavagem leva 3 minutos. Ao chegar um novo cliente, o sistema ou o atende imediatamente (caso esteja completamente livre), ou o coloca em espera, ou o rejeita (caso já existam 5 carros sendo atendidos). Escreva um programa em Java que leia um inteiro n ? 1 e um vetor binário (por exemplo, 001011100111000111), onde o i-ésimo bit da esquerda para a direita vale “1” se um novo cliente chega no i-ésimo minuto, e “0” se nenhum novo cliente chega no i-ésimo minuto. A seguir, o programa deve calcular quantos carros foram lavados pelo sistema até o n-ésimo minuto. Suponha que o vetor tem pelo menos n bits. Use uma fila para representar o sistema a cada minuto que passa.

Já Montei as classes lista e nó mas nao to conseguindo fazer esse tipo de exercício de estrutura.

segue as classes.

/**
 * Created by Higor Mendes on 01/12/2015.
 */
public class ListaEncadeada {
        private NohS ptLista;

        public ListaEncadeada(){
            this.ptLista = null;
        }
        public void inserePrimeiro(int valorChave){

            NohS novoNoh = new NohS(valorChave);
            novoNoh.proximo = ptLista; // guarda ref do nó antigo
            ptLista = novoNoh; // primeiro recebe novo nó
        }
        public NohS busca(int valorChave){

            NohS ptAux = ptLista;
            while(ptAux.valorChave != valorChave){ //Se Coincinde
                if(ptAux.proximo == null){            //
                    return null;
                }
                else{
                    ptAux = ptAux.proximo;
                }
            }
            return ptAux;
        }
        /*----* Metodo deletar-----*/
        public NohS deletar(int valorChave){
            NohS ptAux = ptLista;    // buscar nó
            NohS anterior = ptLista;

            while(ptAux.valorChave != valorChave){
                if(ptAux.proximo == null){            //
                    return null;  // não o encontrou
                }
                else{
                    anterior = ptAux;   // Ir para o proximo
                    ptAux = ptAux.proximo;
                }
            }                // O encontrou
            if(ptAux == ptLista){ //Se o primeiro nó
                ptLista = ptLista.proximo; // altera o primeiro
            }else                        //Caso Contrario
                anterior.proximo = ptAux.proximo; // Contorna-lo
            return ptAux;
        }

        public void mostrarLista()
        {
            System.out.println(" Lista (Primeiro->Ultimo:");
            NohS ptAux = ptLista;
            while(ptAux != null)
            {
                ptAux.imprimirLista();
                ptAux = ptAux.proximo;
            }
            System.out.println("");
        }
    }//Classe




}
/**
 * Created by Higor Mendes on 01/12/2015.
 */
public class Atendimento {

    private String horario;
    private String carro;

    public Atendimento(String horario, String carro){
        super();
        this.horario = horario;
        this.carro = carro;

    }

    public String getHorario() {
        return horario;
    }


    public void setHorario(String horario) {
        this.horario = horario;
    }


    public String getCarro() {
        return carro;
    }


    public void setCarro(String carro) {
        this.carro = carro;
    }
}
/**
 * Created by Higor Mendes on 01/12/2015.
 */
public class NohS {
    public int valorChave;
    public NohS proximo;

    public NohS(int valorChave)
    {
        this.valorChave = valorChave;
    }

    public int getValorChave()
    {
        return valorChave;
    }
    public void setValorChave
            (int valorChave) {
        this.valorChave = valorChave;
    }
    public NohS getProximo() {
        return proximo;
    }
    public void setProximo(NohS proximo) {
        this.proximo = proximo;
    }
    public void imprimiNohS(){
        System.out.println(valorChave + " ");
    }
    public void imprimirLista(){
        System.out.print("(" + this.valorChave + ")");
    }
}

Falta apenas a classe LavaRapido mas não to conseguindo a lógica dessa classe. Deste tipo de exercicio, agradeço se alguem fizer e comentar o que esta acontecendo nas linhas!

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags estrutura-de-dados java java-ee ou faça a sua própria pergunta.