コード例 #1
0
        public double dempilhaTest()
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            pilha.desempilhar();
            stopwatch.Stop();
            return(stopwatch.Elapsed.TotalMilliseconds);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: icrsantos/TPFinal_AED_BAR
        private void materialFlatButton2_Click(object sender, EventArgs e)
        {
            if (gridDataEstruturas.SelectedRows.Count == 0 && tpEstrutura != "FILA" && tpEstrutura != "PILHA")
            {
                MessageBox.Show("\tOperação bloqueada!\nSelecione a row que deseja deletar");
            }
            else
            {
                String index    = gridDataEstruturas.CurrentRow.Cells[0].Value.ToString();
                String elemento = gridDataEstruturas.CurrentRow.Cells[1].Value.ToString();

                switch (tpEstrutura)
                {
                case "FILA":
                    if (fila.Vazia())
                    {
                        MessageBox.Show("\tOperação bloqueada!\nA estrutura selecionada não possui elementos.");
                    }
                    else
                    {
                        fila.desenfileira();
                        labelQuantidade.Text = fila.Quantidade().ToString();
                        listarDados(fila.imprimir());
                    }
                    break;

                case "PILHA":
                    if (pilha.Vazia())
                    {
                        MessageBox.Show("\tOperação bloqueada!\nA estrutura selecionada não possui elementos.");
                    }
                    else
                    {
                        pilha.desempilhar();
                        labelQuantidade.Text = pilha.Quantidade().ToString();
                        listarDados(pilha.imprimir());
                    }
                    break;

                case "LISTA":
                    if (lista.Vazia())
                    {
                        MessageBox.Show("\tOperação bloqueada!\nA estrutura selecionada não possui elementos.");
                    }
                    else
                    {
                        lista.Remove(elemento);
                        labelQuantidade.Text = lista.Quantidade().ToString();
                        listarDados(lista.imprimir());
                    }
                    break;

                case "ARVORE":
                    if (arvore.Vazia())
                    {
                        MessageBox.Show("\tOperação bloqueada!\nA estrutura selecionada não possui elementos.");
                    }
                    else
                    {
                        arvore.Remove(int.Parse(elemento));
                        labelQuantidade.Text = arvore.Qtde().ToString();
                        listarDados(arvore.imprimir());
                    }
                    break;

                case "HASH":
                    String textoTela = TextSequencia.Text;
                    if (textoTela == "")
                    {
                        MessageBox.Show("\t\t\tOperação bloqueada!\nPara deletar um elemento da tabela hash" +
                                        " digite o valor item a ser deletafo no campo de sequência, " +
                                        "selecione a row da chave em que ele se encontra e tecle no botão deletar.");
                    }
                    else
                    {
                        char[] delimitador = { ';' };
                        elemento = textoTela.Split(delimitador)[0];

                        if (hash.Vazia(int.Parse(index) - 1))
                        {
                            MessageBox.Show("\tOperação bloqueada!\nA estrutura selecionada não possui elementos.");
                        }
                        else
                        {
                            hash.remove(int.Parse(index) - 1, elemento);
                            labelQuantidade.Text = hash.Quantidade().ToString();
                            listarDados(hash.imprimir());
                        }
                    }
                    break;
                }
            }
        }