public void inserir(ComandoNo no) { if (estaVazia()) { no.setAnterior(no); no.setPosterior(no); primeiro = no; ultimo = no; tamanho++; } else { ultimo.setPosterior(no); no.setAnterior(ultimo); ultimo = no; tamanho++; } }
public void inserirOrdenado(ComandoNo no) { if (estaVazia()) { inserir(no); } else { ComandoNo anterior = null; ComandoNo atual = primeiro; for (int ct = 0; ct < tamanho; ct++) { if (atual.getComando().CompareTo(no.getComando()) > 0) { if (anterior == null) { no.setPosterior(atual); primeiro = no; tamanho++; break; } else { anterior.setPosterior(no); no.setAnterior(anterior); no.setPosterior(atual); atual.setAnterior(no); tamanho++; break; } } else if (atual.getComando().CompareTo(no.getComando()) == 0) { throw new Exception("COMANDO JA EXISTENTE!"); } else if (atual == ultimo) { inserir(no); } else { anterior = atual; atual = atual.getPosterior(); } } } }