Exemplo n.º 1
0
        public bool remover(int c)
        {
            NoLista aux = prim, ant = null;

            while (aux != null && aux.chave != c)
            {
                ant = aux;
                aux = aux.prox;
            }
            if (aux != null)
            {
                if (ant != null) // não é o primeiro
                {
                    ant.prox = aux.prox;
                }
                else // é o primeiro
                {
                    prim = aux.prox;
                }
                if (aux == ult) // é o último
                {
                    ult = ant;
                }
                aux.prox = null; // desconecta o nó da lista
                return(true);
            }
            return(false);
        }
Exemplo n.º 2
0
        public void TrocarChaves()
        {
            NoLista aux = prim;

            prim     = prim.prox;
            ult.prox = aux;
            aux.prox = null;
        }
Exemplo n.º 3
0
        public NoLista pesquisar(int c)
        {
            NoLista aux = prim;

            while (aux != null && aux.chave != c)
            {
                aux = aux.prox;
            }
            return(aux);
        }
Exemplo n.º 4
0
        public void imprimir()
        {
            NoLista aux = prim;

            while (aux != null)
            {
                Console.WriteLine(aux.chave + " " + aux.nome);
                aux = aux.prox;
            }
        }
Exemplo n.º 5
0
        public void imprimir()
        {
            NoLista aux = prim;

            while (aux != null)
            {
                Console.WriteLine("chave: {0} nome : {1}", aux.chave, aux.nome);
                aux = aux.prox;
            }
        }
Exemplo n.º 6
0
 public void inserir(NoLista item)
 {
     if (prim == null)
     {
         prim = item;
     }
     else
     {
         ult.prox = item;
     }
     ult = item;
 }
Exemplo n.º 7
0
        public void RetirarPrefixo(int n)
        {
            int     cont = 0;
            NoLista aux  = prim;

            while (aux != null && cont < n)
            {
                prim     = aux.prox;
                aux.prox = null;
                cont++;
            }
        }
Exemplo n.º 8
0
        public int ContadorFila()
        {
            int cont = 0;

            NoLista aux = prim;

            while (aux != null)
            {
                aux = aux.prox;
                cont++;
            }
            return(cont);
        }
Exemplo n.º 9
0
        public NoLista getMaior()
        {
            NoLista aux   = prim;
            NoLista maior = prim;

            while (aux != null)
            {
                if (aux.chave > maior.chave)
                {
                    maior = aux;
                }
                aux = aux.prox;
            }
            return(maior);
        }
Exemplo n.º 10
0
        public Lista Interseccao(Lista b)
        {
            Lista   r   = new Lista();
            NoLista aux = prim;

            while (aux != null)
            {
                if (b.pesquisar(aux.chave) != null)
                {
                    r.inserir(new NoLista(aux.chave, aux.nome));
                }
                aux = aux.prox;
            }

            return(r);
        }
Exemplo n.º 11
0
        public NoLista GetNo(int indice)
        {
            int     cont = 0;
            NoLista aux  = prim;

            while (aux != null)
            {
                if (cont == indice)
                {
                    return(aux);
                }
                aux = aux.prox;
                cont++;
            }

            return(null);
        }
Exemplo n.º 12
0
        public void Menu()
        {
            int   opc;
            Lista l = new Lista();

            do
            {
                Console.WriteLine("----------Menu----------");
                Console.WriteLine("1     -       INSERIR");
                Console.WriteLine("2     -       PESQUISAR");
                Console.WriteLine("3     -       IMPRIMIR LISTA");
                Console.WriteLine("4     -       REMOVER        ");
                Console.WriteLine("5     -       SAIR");
                Console.Write("Opção:");
                opc = Convert.ToInt32(Console.ReadLine());
                int    c;
                string nome;

                switch (opc)
                {
                case 1:

                    Console.Write("Digite um nº (-1 para sair): ");
                    c = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Digite um nome:");
                    nome = Console.ReadLine();

                    while (c != -1)
                    {
                        while (l.pesquisar(c) != null)
                        {
                            Console.WriteLine("Erro o valor inserido já existe na lista !!");
                            Console.Write("Digite outro nº (-1 para sair): ");
                            c = Convert.ToInt32(Console.ReadLine());
                            Console.WriteLine("Digite um nome:");
                            nome = Console.ReadLine();
                        }


                        l.inserir(new NoLista(c, nome));
                        Console.Write("Digite outro nº (-1 para sair): ");
                        c = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("Digite um nome:");
                        nome = Console.ReadLine();
                    }
                    break;

                case 2:
                    Console.Write("Digite um nº a ser pesquisado: ");
                    c = Convert.ToInt32(Console.ReadLine());

                    NoLista n = l.pesquisar(c);
                    if (n == null)
                    {
                        Console.WriteLine("Valor não encontrado!");
                    }
                    else
                    {
                        Console.WriteLine("Achou: Chave: {0} nome: {1} ", n.chave, n.nome);
                    }
                    break;

                case 3:
                    l.imprimir();
                    break;

                case 4:
                    Console.WriteLine("Digite um número para remover da Lista:");
                    c = Convert.ToInt32(Console.ReadLine());
                    if (l.remover(c))
                    {
                        Console.WriteLine("Item removido com sucesso !!");
                    }
                    else
                    {
                        Console.WriteLine("Item não encontrado !!");
                    }

                    break;

                case 5:
                    Console.WriteLine("Saindo...");

                    break;

                default:
                    l.TrocarChaves();
                    Console.WriteLine("Opção Inválida, digite novamente selecionando uma das opções do menu.");
                    break;
                }
            } while (opc != 5);
        }
Exemplo n.º 13
0
 public Lista()
 {
     prim = ult = null;
 }
Exemplo n.º 14
0
 public NoLista(int c, string n)
 {
     chave = c;
     nome  = n;
     prox  = null;
 }
Exemplo n.º 15
0
        static void Main(string[] args)
        {
            Lista  l = new Lista();
            int    c, opcao;
            string nome;

            Console.WriteLine("1)Inserir 2)Pesquisar 3)Imprimir 4)Sair 5)Maior");
            opcao = Convert.ToInt32(Console.ReadLine());
            while (opcao != 4)
            {
                if (opcao == 1)
                {
                    Console.Write("Digite um nº (-1 para sair): ");
                    c = int.Parse(Console.ReadLine());

                    while (c != -1)
                    {
                        if (l.pesquisar(c) == null)
                        {
                            // Console.Write("Digite outro nº (-1 para sair): ");
                            Console.Write("Digite o nome:");
                            nome = Console.ReadLine();
                            l.inserir(new NoLista(c, nome));
                        }
                        else
                        {
                            Console.Write("Número de chave repetido. Digite outro nº (-1 para sair): ");
                            c = Convert.ToInt32(Console.ReadLine());
                        }

                        Console.Write("Digite um nº (-1 para sair): ");
                        c = int.Parse(Console.ReadLine());
                    }
                }

                if (opcao == 2)
                {
                    Console.Write("Digite um nº a ser pesquisado: ");
                    c = int.Parse(Console.ReadLine());

                    NoLista n = l.pesquisar(c);
                    if (n == null)
                    {
                        Console.WriteLine("Valor não encontrado!");
                    }
                    else
                    {
                        Console.WriteLine("Achou: " + n.chave);
                    }
                }

                if (opcao == 3)
                {
                    l.imprimir();
                    Console.WriteLine("maior chave: " + l.getMaior().chave + ": " + l.getMaior().nome);
                    l.TrocarChaves();
                    l.imprimir();
                    Console.ReadKey();
                }


                Console.WriteLine("1)Inserir 2)Pesquisar 3)Imprimir 4)Sair ");
                opcao = Convert.ToInt32(Console.ReadLine());
            }
            Console.ReadKey();
        }