コード例 #1
0
ファイル: Lista.hpp プロジェクト: marcoludd/UFSC-INE5408
int Lista<T>::posicao(T dado) {
	if (listaVazia()) {
		throw ExcecaoListaVazia();
	}
	for (int i = 0; i <= ultimo; i++) {
		if (igual(dado, lista[i])) {
			return i;
		}
	}
	throw ExcecaoDadoNaoEncontrado();
}
コード例 #2
0
int ListaCirc<T>::posicao(const T& dado) const {
  if (ListaEnc<T>::listaVazia()) {
    throw ExcecaoListaVazia();
  }
  Elemento<T>* atual = this->cabeca->getProximo();
  for (int i = 0; i < this->tamanho; i++) {
    if (dado == atual->getInfo()) {
      return i;
    }
    atual = atual->getProximo();
  }
  throw ExcecaoDadoNaoEncontrado();
}
コード例 #3
0
ファイル: ListaDupla.hpp プロジェクト: marcoludd/UFSC-INE5408
int ListaDupla<T>::posicaoDuplo(const T& dado) const {
	if (listaVazia()) {
		throw ExcecaoListaVazia();
	}
	ElementoDuplo<T>* atual = cabeca;
	for (int i = 0; i < tamanho; i++) {
		if (dado == atual->getInfo()) {
			return i;
		}
		atual = atual->getProximo();
	}
	throw ExcecaoDadoNaoEncontrado();
}