static void Main(string[] args) { Console.WriteLine("arvore avl!"); ArvoreAVL arvoreAVL = new ArvoreAVL(); ArvoreBinaria arvoreBinaria = new ArvoreBinaria(); int opcao, x; while (true) { // exemplo // 70 40 20 60 80 55 85 10 15 5 Console.WriteLine("1 - exibir a arvore AVL"); Console.WriteLine("2 - inserir um novo no"); Console.WriteLine("3 - remover um no "); Console.WriteLine("4 - percorrer em ordem AVL"); Console.WriteLine("5 - exibir a arvore bin"); Console.WriteLine("6 - percorrer em ordem bin"); Console.WriteLine("7 - sair"); Console.Write("escolha uma opcao: "); opcao = Convert.ToInt32(Console.ReadLine()); if (opcao == 7) { break; } switch (opcao) { case 1: Console.Write("\n AVL\n"); arvoreAVL.Exibir(); break; case 2: Console.Write("entre com a chave que sera inserida: "); x = Convert.ToInt32(Console.ReadLine()); arvoreBinaria.Inserir(x); arvoreAVL.Inserir(x); break; case 3: Console.Write("entre com a chave que sera removida: "); x = Convert.ToInt32(Console.ReadLine()); arvoreBinaria.Remover(x); arvoreAVL.Removeravl(x); break; case 4: Console.Write("\n AVL\n"); arvoreAVL.PercorrerEmOrdem(); break; case 5: Console.Write("\n bin\n"); arvoreBinaria.Exibir(); break; case 8: Console.Write("\n bin\n"); arvoreBinaria.PercorrerEmOrdem(); break; } } }
static void Main(string[] args) { string x; int codigo = 0; ArvoreBinaria ArvoreContatos; DateTime dt; contatos[] contatos = Ler("contatos.txt"); int Aux; string nome; int pes; if (contatos != null) { codigo = contatos[contatos.Length - 1].Código; } do { Console.Clear(); Console.WriteLine("1 - Inserir um novo Contato"); Console.WriteLine("2 - Remover um contato existente"); Console.WriteLine("3 - Imprimir os contatos ordenados por nome"); Console.WriteLine("4 - Imprimir os contatos ordenador por data de nascimento"); Console.WriteLine("5 - Pesquisar um contato na lista usando o código (Arvore Binária)"); Console.WriteLine("6 - Pesquisar um contato na lista usando o nome (Arvore Binária)"); Console.WriteLine("7 - Pesquisar um contato na lista usando o data de nascimento (Arvore Binária)"); Console.WriteLine("8 - Pesquisar um contato na lista usando o e-mail (Arvore Binária)"); Console.WriteLine("9 - Sair"); x = Console.ReadLine(); switch (x) { case "1": //1 - Inserir um novo Contato codigo++; Console.Clear(); contatos NovoContato = new contatos(); NovoContato.Código = codigo; Console.WriteLine("Digite o nome do contato"); NovoContato.Nome = Console.ReadLine(); Console.WriteLine("Digite a data de nascimento dd/mm/aaaa"); string data = Console.ReadLine(); Console.WriteLine("Digite o telefone"); NovoContato.Telefone = Console.ReadLine(); Console.WriteLine("Digite o e-mail"); NovoContato.email = Console.ReadLine(); //Manda Escrever Escrever("contatos.txt", $"{NovoContato.Código}|{NovoContato.Nome}|{data}|{NovoContato.Telefone}|{ NovoContato.email}"); break; case "2": //2 - Remover um contato existente Console.Clear(); Console.WriteLine("Digite o codigo a ser deletado"); DeletarLinha("contatos.txt", Console.ReadLine()); break; case "3": //3 - Imprimir os contatos ordenados por nome Console.Clear(); contatos = Ler("contatos.txt"); int QtnChar = Menor(contatos); QuickSortAlfabetica(contatos, 0, contatos.Length - 1, QtnChar); foreach (contatos item in contatos) { imprimir(item); } Console.ReadKey(); break; case "4": //4 - Imprimir os contatos ordenador por data de nascimento Console.Clear(); contatos = Ler("contatos.txt"); dt = DateTime.Now; QuickSortDataNarcimento(contatos, 0, contatos.Length - 1, dt); foreach (contatos item in contatos) { imprimir(item); } Console.ReadKey(); break; case "5": //5 - Pesquisar um contato na lista usando o código (Árvore Binária e Tabela Hash) ArvoreContatos = new ArvoreBinaria(); Console.Clear(); contatos = Ler("contatos.txt"); dt = DateTime.Now; QuickSortDataNarcimento(contatos, 0, contatos.Length - 1, dt); foreach (contatos item in contatos) { ArvoreContatos.Inserir(item); } Console.WriteLine("Digite o codigo a ser deletado"); imprimir(ArvoreContatos.Pesquisar(int.Parse(Console.ReadLine()))); Console.ReadKey(); break; case "6": //6 - Pesquisar um contato na lista usando o nome (Árvore Binária e Tabela Hash) ArvoreContatos = new ArvoreBinaria(); Console.Clear(); contatos = Ler("contatos.txt"); Aux = Menor(contatos); for (int i = 0; i < contatos.Length; i++) { contatos[i].Código = ConverterInt(contatos[i].Nome, Aux); ArvoreContatos.Inserir(contatos[i]); } Console.WriteLine("Digite o nome"); nome = Console.ReadLine(); pes = ConverterInt(nome, Aux); imprimir(ArvoreContatos.Pesquisar(pes)); Console.ReadKey(); break; case "7": //7 - Pesquisar um contato na lista usando o data de nascimento (Árvore Binária e Tabela Hash) ArvoreContatos = new ArvoreBinaria(); Console.Clear(); contatos = Ler("contatos.txt"); dt = DateTime.Now; for (int i = 0; i < contatos.Length; i++) { contatos[i].Código = (dt - contatos[i].DataNascimento).Days; ArvoreContatos.Inserir(contatos[i]); } Console.WriteLine("Digite a data dd/mm/aaaa"); string[] dat1 = Console.ReadLine().Split('/'); DateTime pesq = new DateTime(int.Parse(dat1[2]), int.Parse(dat1[1]), int.Parse(dat1[0])); int dataPes = (dt - pesq).Days; imprimir(ArvoreContatos.Pesquisar(dataPes)); Console.ReadKey(); break; case "8": //8 - Pesquisar um contato na lista usando o e-mail (Árvore Binária e Tabela Hash) ArvoreContatos = new ArvoreBinaria(); Console.Clear(); contatos = Ler("contatos.txt"); Aux = Menor(contatos); for (int i = 0; i < contatos.Length; i++) { contatos[i].Código = ConverterInt(contatos[i].email, Aux); ArvoreContatos.Inserir(contatos[i]); } Console.WriteLine("Digite o nome"); nome = Console.ReadLine(); pes = ConverterInt(nome, Aux); imprimir(ArvoreContatos.Pesquisar(pes)); Console.ReadKey(); break; case "9": //sair return; default: Console.WriteLine("Invalido"); break; } } while (true); }