public void inserir(Multas info) { MultasNo novo = new MultasNo(info); MultasNo auxiliar = _sentinela; MultasNo auxiliar2 = _sentinela; if (primeiro == ultimo) { sentinela.prox = novo; ultimo = novo; } else { while (auxiliar.prox != null) { auxiliar = auxiliar.prox; if (auxiliar.multa.dataEmissao > novo.multa.dataEmissao) { auxiliar2.prox = novo; novo.prox = auxiliar; return; } else if (auxiliar == ultimo) { ultimo.prox = novo; ultimo = novo; return; } auxiliar2 = auxiliar2.prox; } } }
private void multasToolStripMenuItem_Click(object sender, EventArgs e) { if (condutoresFlag && veiculosFlag) { String[] multas = File.ReadAllLines("multas.txt"); DateTime dataEmissaoMulta; string cnh, placa, tipoMulta; int cont = 0; for (int i = 0; i < multas.Length; i++) { cnh = multas[i].Split(';')[0]; placa = multas[i].Split(';')[1]; dataEmissaoMulta = Convert.ToDateTime(multas[i].Split(';')[3]); tipoMulta = multas[i].Split(';')[2]; Condutores condutor = tabelaHashCondutores.buscar(cnh); Veiculos veiculo = tabelaHashVeiculos.buscar(placa); Multas multa = null; switch (tipoMulta) { case "1": multa = new Leves(dataEmissaoMulta, veiculo, condutor); break; case "2": multa = new Medias(dataEmissaoMulta, veiculo, condutor); break; case "3": multa = new Graves(dataEmissaoMulta, veiculo, condutor); break; default: break; } tabelaHashMultas.inserir(multa); condutor.listaMultasPorCondutor.inserir(multa); veiculo.listaMultasPorVeiculo.inserir(multa); cont++; } multasToolStripMenuItem.Enabled = false; MessageBox.Show("Foram Lidas: " + cont + " Multas"); } else { MessageBox.Show("Os dados de Veículos(" + veiculosFlag + ") ou Condutores(" + condutoresFlag + ") não foram carregados. Impossível executar essa ação."); } }
public void inserir(Multas Novo) { long code = Novo.veiculo.placa.GetHashCode(); if (code < 0) { code = code * -1; } code = code % 999979; if (Hashtab[code] == null) { Hashtab[code] = Novo; } else { inserir(Novo, 1); } }
public void inserir(Multas novo, int rehash) { long code = novo.veiculo.placa.GetHashCode(); if (code < 0) { code = code * -1; } code = code % 999979; code = ReHash(code, rehash); if (Hashtab[code] == null) { Hashtab[code] = novo; } else { inserir(novo, rehash + 1); } }
public void CopiaHash(ref Multas[] array) { int cont = 0; for (int i = 0; i < Hashtab.Length; i++) { if (!(Hashtab[i] == null)) { cont++; } } array = new Multas[cont]; cont = 0; for (int i = 0; i < Hashtab.Length; i++) { if (Hashtab[i] != null) { array[cont] = Hashtab[i]; cont++; } } }
public MultasNo(Multas Dados) { _multa = Dados; _prox = null; }
public MultasNo() { _multa = null; }