Está en la página 1de 3

GRUPO 10

Bozo Ramos Leonardo Javier


Porcentaje Terminado: 100 %

Comentario:
Los ejercicios no estaban imposible pero si un poco dificultoso al menos para mi
me toco tiempo para entender como funciona la lista pero luego de practicar fue
fcil resolver los ejercicios.

insertarPrim([],X,[X]).
insertarPrim([X|L1],Y,[Y,X|L1]):-!.
insertarPrim([X|L1], Y, [Y|L2]):-
insertarPrim(L1,Y,L2).

insertUlt([],X,[X]).
insertUlt([X|L1],Y,[X|L2]):-insertUlt(L1,Y,L2).

insertlugar([],X,[X]).
insertlugar([X|L1],Y,[Y,X|L1]):-Y=<X,!.
insertlugar([X|L1],Y,[X|L2]):-insertlugar(L1,Y,L2).

insertlugardes([],X,[X]).
insertlugardes([X|L1],Y,[Y,X|L1]):-Y>=X,!.
insertlugardes([X|L1],Y,[X|L2]):-
insertlugardes(L1,Y,L2).

insertarIesimo([], X, Pos, [X]):-Pos=:=0,!.


insertarIesimo(L1, Y, Pos, L2):-insertarIesimo(L1, Y,
Pos,0, L2).
insertarIesimo([X|L1], Y, Pos,I,[Y,X|L1]):-Pos=:=I,!.
insertarIesimo([X|L1], Y, Pos,I, [X|L2]):-I1 is
I+1,insertarIesimo(L1,Y,Pos,I1,L2).

eliminarPrim([],[]):-!.
eliminarPrim([_], []):-!.
eliminarPrim([X,Y|L1], [Y|L2]):-eliminarPrim([Y|L1],
L2).

eliminarUlt([_],[]).
eliminarUlt([X|L1],[X|L2]):-eliminarUlt(L1,L2).
eliminarTodo([],_,[]):-!.
eliminarTodo([X], X, []):-!.
eliminarTodo([X,Y|L1],Z,L2):-
Z=:=X,eliminarTodo([Y|L1],Z,L2).
eliminarTodo([X|L1],Z,[X|L2]):-eliminarTodo(L1,Z,L2).

eliminarIesimo([],_, []).
eliminarIesimo(L1,Pos,L2):-eliminarIesimo(L1,Pos,0,
L2).
eliminarIesimo([X],Pos,I,[]):-Pos=:=I,!.
eliminarIesimo([X,Y|L1],Pos,I,[Y|L1]):-Pos=:=I,!.
eliminarIesimo([X|L1], Pos,I, [X|L2]):-I1 is
I+1,eliminarIesimo(L1,Pos,I1,L2).

intercalar([],[],[]):-!.
intercalar([],L2,L2):-!.
intercalar(L1,[],L1):-!.
intercalar([X|L1],[Y|L2],[X,Y|L3]):-
intercalar(L1,L2,L3).

separar([],[],[]):-!.
separar([X|L1],[X|L2],L3):-X mod
2=:=0,separar(L1,L2,L3),!.
separar([X|L1],L2,[X|L3]):-separar(L1,L2,L3).

reemplazar([], _, _, []):-!.
reemplazar([X], Y, Z, [Z]):-X=:=Y,!.
reemplazar([X,Y|L1], Z, W, [W|L2]):-
X=:=Z,reemplazar([Y|L1],Z,W,L2).
reemplazar([X|L1], Y, Z, [X|L2]):-
reemplazar(L1,Y,Z,L2).

interseccion([], [], []).


interseccion([], L2, []).
interseccion(L1, [], []).
interseccion([X], L2, [X]):-frecuencia(L2,X,F),F >0.
interseccion([X,Y|L1], L2, [X|L3]):-
frecuencia(L2,X,F),F >0,interseccion([Y|L1],L2,L3).
interseccion([X|L1],L2,L3):-interseccion(L1,L2,L3).
frecuencia([],_,0):-!.
frecuencia([X|L],X,Q):-frecuencia(L,X,Q1),
Q is Q1 + 1,!.

frecuencia([_|L],X,Q):-frecuencia(L,X,Q).

indexOf(L,X,POS):-indexOf(L,X,0,POS).
indexOf([],_,_,-1):-!.
indexOf([X|L1],X,I,Pos):-Pos is I,!.
indexOf([_|L],Z,I,POS):-I1 is I +1,indexOf(L,Z,I1,POS).

También podría gustarte