/// <summary> /// Reajusta os indeces dos elementos da lista /// </summary> private void RefactoreIndex() { Elemento aux = this.prim; while (aux != null) { if (null != aux.Prox && aux.GetIndex() != aux.Prox.GetIndex() - 1) { aux = aux.Prox; while (aux != null) { aux.SetIndex(aux.GetIndex() - 1); aux = aux.Prox; } return; } aux = aux.Prox; } }
/// <summary> /// Retorna o index de um elemento /// </summary> /// <param name="obj"></param> /// <returns></returns> public int GetIndexOf(object obj) { Elemento aux = prim; while (aux != null && aux.GetDado() != obj) { aux = aux.Prox; } return(aux.GetIndex()); }
/// <summary> /// Retorna um objeto pelo seu index /// </summary> /// <param name="val"></param> /// <returns></returns> private object GetByIndex(int val) { Elemento aux = prim; if (val >= this.count || val < 0) { throw new InvalidIndexException(this.ToString() + ", line 56"); } else if (aux == null) { throw new NullReferenceException(this.ToString() + ", line 57"); } while (aux != null && val != aux.GetIndex()) { aux = aux.Prox; } return(aux.GetDado()); }
/// <summary> /// Retorna um elemento pelo seu index /// </summary> /// <param name="val"></param> /// <returns></returns> private Elemento GetElementoByIndex(int val) { Elemento aux = this.prim; if (val > this.count || val < 0) { throw new IndexOutOfRangeException(this.ToString() + ", line 72"); } else if (aux == null) { throw new NullReferenceException(this.ToString() + ", line 73"); } while (val != aux.GetIndex()) { aux = aux.Prox; } return(aux); }