Ejemplo n.º 1
0
        //questão 2.
        public string Editor(string palavra, Fila_Char fila)
        {
            for (int i = 0; i < palavra.Length; i++)
            {
                if (palavra[i] == '#')// tirar o ultimo elemento
                {
                    fila.Tirar_ult_ele();
                }
                else if (palavra[i] == '$')//inserir duplicado
                {
                    CHAR aux = new CHAR(palavra[i + 1]);
                    fila.Inserir(aux);
                }
                if (palavra[i] != '#' && palavra[i] != '$') //inserir os restantes dos elementos.
                {
                    CHAR aux = new CHAR(palavra[i]);
                    fila.Inserir(aux);
                }
            }

            string texto;

            //desenfilerar.
            while (!fila.Verifica_Vazio())
            {
                CHAR aux;
                aux    = fila.Tirar_ele();
                texto += Convert.ToString(aux.Carac);
            }

            return(texto);
        }
Ejemplo n.º 2
0
 //Tirar o primeiro elemento da fila.
 public CHAR Tirar_ele()
 {
     if (!Verifica_Vazio())
     {
         CHAR aux = primeiro.Proximo;
         primeiro.Proximo = aux.Proximo;
         aux.Proximo      = null;
         return(aux);
     }
     return(null);
 }
Ejemplo n.º 3
0
 //Tirar o ultimo elemento da fila.
 public CHAR Tirar_ult_ele()
 {
     if (!Verifica_Vazio())
     {
         CHAR aux = primeiro.Proximo;
         while (aux.Proximo != ultimo)
         {
             aux = aux.Proximo;
         }
         CHAR aux1 = aux.Proximo;
         aux = ultimo;
         return(aux1);
     }
     return(null);
 }
Ejemplo n.º 4
0
 //Inserir novo elemento no final.
 public CHAR Inserir(CHAR val)
 {
     ultimo.Proximo = val;
     val            = ultimo;
     return(ultimo);
 }
Ejemplo n.º 5
0
 //Construtor
 public Fila_Char()
 {
     primeiro = new CHAR(' ');
     ultimo   = primeiro;
 }