Documentos de Académico
Documentos de Profesional
Documentos de Cultura
* TRABALHO DE PROLOG
*/
package trabalho_prolog;
/**
* Sequência da lista
*/
class Lista
{ // construindo a lista
public Lista( int nCab, Lista nCau) //(construtor) -reponsavel por criar a lista.
cab = nCab;
cau = nCau;
}
/**
*/
Lista L1 = lista(1,lista(2,lista(3,null)));
wLista(L1);
wLista(remove(2,L1));
nl();
wLista(mergeSort(L1));
nl();
wLista(L2);
sopln("O append das listas é: ");wLista(append(L1,L2));
nl();
nl();
nl();
nl();
nl();
nl();
nl();
nl();
nl();
nl();
nl();
sop("Palindrome1 da lista L1 é: "+palindrome1(L1));
nl();
nl();
return local;
//Escreve a Lista
if (l != null)
System.out.print(cab(l)+" ");
wLista(cau(l));
else System.out.println();
if (l == null)
return null;
Lista l1 = null;
if (cab(l) == x)
l1 = lista(cab(cau(l)),cau(cau(l)));
}*/
if (a == null) {
return b;
} else {
return lista.cab;
if (l == null)
return null;
if (compr(l) == 1)
return l;
Lista l1 = lista(ultimo(l),null);
Lista l2 = lista(cab(l),null);
saida = append(saida,l2);
return saida;
if (lista == null)
return null;
return lista.cau;
if (lista== null)
return 0;
else
return (1+soma(cau(lista)));
}
// Exercício 18 - Verifica se uma lista é palindrome ou não.
if (l == null)
return true;
if (cau(l) == null)
return true;
if (cab(l) == ultimo(l))
return palindrome(cau(remU(l)));
return false;
if (l == null)
return null;
if(cab(l) == x)
return cau(l);
return lista(cab(l),select(x,cau(l)));
if (l == null)
return false;
if(cau(l) == null)
return false;
if(cab(l) == cab(cau(l)))
return true;
return contiguos(cau(l));
// Exercício 9
return cab(lista);
if(cau(l) == null)
return select(cab(l),l);
return lista(cab(l),remU(cau(l)));
return false;
else if (cab(lista) == x)
return true;
return 0;
else
// na cauda da lista
return true;
return false;
if (cab(l1) == cab(l2))
return iguais(cau(l1),cau(l2));
return false;
return compr1Acc(l,0);
if ( l == null)
return acc;
if (l == null)
return true;
if (cau(l) == null)
return true;
if (iguais(l,rev(l)) == true)
return true;
return false;
}
static void sop(String s) // posibilita escrever direto no main
// sop("Texto");
System.out.print(s);
System.out.println(s);
System.out.println("");
return false;
else if (member(cab(lista),cau(lista)))
return true;
if (member(cab(l),cau(l)) == true)
l = lista(cab(cau(l)),cau(cau(l)));
return remDupl(cau(l));
// Exercício 13
// Utilizando Acumuladores!!!
// Exercício 14
if (l == null)
return null;
// Exercício 15
if (lista == null)
return acc;
if (cau(lista) == null)
return cab(lista);
else {
return maxL(cau(lista));
if (lista == null)
return m;
if (cab(lista) > m)
if (l == null)
return 0;
if (x == 0)
return 0;
if (x == 1)
return cab(l);
if (x >= 1)
return 0;
if (l == null)
return true;
if (cau(l) == null)
return true;
return isOrd(cau(l));
return false;
if (l == null)
return lista(x,null);
if (x < cab(l))
lista(x,l);
return lista(cab(l),insOrd(x,cau(l)));
}
// Exercício 24 - particiona, separa uma lista A em duas listas B e C.
}else{
particiona(cau(cau(Z)),A);
A[0] = lista(cab(Z),A[0]);
A[1] = lista(cab(cau(Z)),A[1]);
if (a==null){
return b;
else if (b==null){
return a;
return lista(cab(a),merge(cau(a),b));}
}
// Exercício 26 - O mergeSort ordena uma lista em ordem decrescente.
particiona(Z,A);