示例#1
0
 public void agregar(Numero in_clave, I_Comparable valor)
 {
     if (indiceElemento(in_clave).Equals(-1))
     {
         Lista_ClaveValor.Add(new ClaveValor(in_clave, valor));
     }
     else
     {
         Lista_ClaveValor[indiceElemento(in_clave)] = new ClaveValor(in_clave, valor);
     }
 }
示例#2
0
        public I_Comparable minimo()
        {
            ConcreteIterator_Diccionario iter = new ConcreteIterator_Diccionario(this);
            ClaveValor minimo = (ClaveValor)iter.Siguiente();

            while (!iter.EsFin())
            {
                ClaveValor elemento = (ClaveValor)iter.Siguiente();
                minimo = elemento.valor.sosMenor(minimo) ? elemento : minimo;
            }
            return(minimo);
        }
示例#3
0
 public void agregar(I_Comparable valor)
 {
     if (indiceElemento(ClaveDefault).Equals(-1))
     {
         Numero clave = new Numero(ClaveDefault.Valor);
         Lista_ClaveValor.Add(new ClaveValor(clave, valor));
         ClaveDefault.Valor += 1;
     }
     else
     {
         Lista_ClaveValor[indiceElemento(ClaveDefault)] = new ClaveValor(ClaveDefault, valor);
     }
 }
示例#4
0
        /// <summary>
        /// Busca y retorna la posicion en el cual se encuentra el elemento. Si no existe, retorna -1
        /// </summary>
        /// <param name="in_clave"></param>
        /// <returns></returns>
        public int indiceElemento(Numero in_clave)
        {
            ConcreteIterator_Diccionario iter = new ConcreteIterator_Diccionario(this);

            while (!iter.EsFin())
            {
                ClaveValor elemento = (ClaveValor)iter.SiguienteCV();
                if (elemento.clave.sosIgual(in_clave))
                {
                    return(iter.Actual);
                }
            }
            return(-1);
        }
示例#5
0
        public bool contiene(I_Comparable comparable)
        {
            IIterator iter = CreateIterator();

            while (!iter.EsFin())
            {
                ClaveValor elemento = (ClaveValor)iter.Siguiente();
                if (elemento.sosIgual(comparable))
                {
                    return(true);
                }
            }
            return(false);
        }
示例#6
0
 public void agregar(ClaveValor comparable)
 {
     this.agregar(comparable.clave, comparable.valor);
 }