コード例 #1
0
void libera_rec (Lista* l)
{
   if (!vazia(l))
   {
      libera_rec(l->prox);
      free(l);
   }
}
コード例 #2
0
ファイル: Main.c プロジェクト: fialhorenato/datastructure
TLista* libera_rec(TLista* lista) {
	TLista* aux = lista;
	if (aux != NULL) {
		lista = lista -> prox;
		free(aux);
		aux = lista;
		return libera_rec(aux);
	}
	return aux;

}
コード例 #3
0
int main()
{
  Lista* l;
  l = inicializa();
  l = insere_ordenado(l, 78);
  l = insere_ordenado(l, 56);
  l = insere_ordenado(l, 23);
  l = insere_ordenado(l, 45);
  imprime_rec(l);
  l = retira_rec(l, 78);
  imprime_rec(l);
  l = retira_rec(l, 45);
  imprime_rec(l);
  libera_rec(l);
  system("PAUSE");	
  return 0;
}
コード例 #4
0
ファイル: Main.c プロジェクト: fialhorenato/datastructure
int main(void) {
	// CRIA A VARIÁVEL LISTA
	TLista *listax;

	//INICIALIZA A LISTA COM UM PONTEIRO EM NULL
	listax = inicializa();

	//INSERE OS DADOS NA LISTA
	listax = insere(listax, 'f');
	listax = insere(listax, 'u');
	listax = insere(listax, 'm');
	listax = insere(listax, 'm');
	listax = insere(listax, 'e');
	listax = insere(listax, 'm');
	listax = insere(listax, 'm');
	listax = insere(listax, 'm');
	listax = insere(listax, 'm');
	listax = insere(listax, 'c');

	// IMPRIME A LISTA RECURSIVAMENTE
	imprimeRec(listax);

	// SE A LISTA ESTIVER VAZIA, IMPRIME 1, SENÃO IMPRIME 0
	printf("\n--> %d\n\n", listavazia(listax));

	listax = remove_meio_rec(listax, 'm');

	// IMPRIME A LISTA RECURSIVAMENTE
	imprimeRec(listax);

	// LIBERA TODA A LISTA RECURSIVAMENTE
	listax = libera_rec(listax);

	// SE A LISTA ESTIVER VAZIA, IMPRIME 1, SENÃO IMPRIME 0
	printf("\n-->%d\n", listavazia(listax));



	return EXIT_SUCCESS;
}