using System;

namespace Practica1Tema02
{
    // Clase Nodo
    public class Nodo
    {
        public int Dato { get; set; }
        public Nodo Siguiente { get; set; }

        public Nodo(int dato)
        {
            Dato = dato;
            Siguiente = null;
        }
    }

    // Clase ListaSimple
    public class ListaSimple
    {
        private Nodo cabeza = null;

        // Insertar al inicio
        public void InsertarAlInicio(int valor)
        {
            Nodo nuevo = new Nodo(valor);
            nuevo.Siguiente = cabeza;
            cabeza = nuevo;
        }

        // Insertar al final
        public void InsertarAlFinal(int valor)
        {
            Nodo nuevo = new Nodo(valor);
            if (cabeza == null)
            {
                cabeza = nuevo;
                return;
            }
            Nodo actual = cabeza;
            while (actual.Siguiente != null)
            {
                actual = actual.Siguiente;
            }
            actual.Siguiente = nuevo;
        }

        // Eliminar al frente
        public void EliminarAlFrente()
        {
            if (cabeza == null) return;
            cabeza = cabeza.Siguiente;
        }

        // Buscar un valor
        public bool Buscar(int valor)
        {
            Nodo actual = cabeza;
            while (actual != null)
            {
                if (actual.Dato == valor)
                    return true;
                actual = actual.Siguiente;
            }
            return false;
        }

        // Imprimir lista
        public void ImprimirLista()
        {
            Nodo actual = cabeza;
            while (actual != null)
            {
                Console.Write(actual.Dato + " -> ");
                actual = actual.Siguiente;
            }
            Console.WriteLine("null");
        }
    }

    // Clase principal
    class Program
    {
        static void Main(string[] args)
        {
            ListaSimple lista = new ListaSimple();

            lista.InsertarAlFinal(10);
            lista.InsertarAlFinal(20);
            lista.InsertarAlFinal(30);
            lista.InsertarAlFinal(40);

            Console.WriteLine("Lista original:");
            lista.ImprimirLista();

            Console.WriteLine("¿Existe 30? " + lista.Buscar(30));

            lista.EliminarAlFrente();
            Console.WriteLine("Lista despues de eliminar al frente:");
            lista.ImprimirLista();
        }
    }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: