Discussion:
how to delete Nth element from a list
(too old to reply)
erhan
2006-05-11 08:45:04 UTC
Permalink
hi,

I want to delete Nth element from a list. How can I do this?
I mean, I want a predicate delNthFromList(N, List, NewList) which
deletes Nth element from List and construct a NewList.

for ex.,
delNthFromList(3, [a,b,c,d], L). should return L = [a,b,d]...

thanks in advance...
knd
2006-05-11 13:42:18 UTC
Permalink
I think this would be applied.

delNthFromList(1,[X|L],L) :- !.
delNthFromList(N,[X|L1],[X|L2]) :-
N1 is N - 1,
delNthFromList(N1,L1,L2).

--shinichi
m***@gmail.com
2006-05-11 13:52:09 UTC
Permalink
Post by erhan
hi,
I want to delete Nth element from a list. How can I do this?
I mean, I want a predicate delNthFromList(N, List, NewList) which
deletes Nth element from List and construct a NewList.
for ex.,
delNthFromList(3, [a,b,c,d], L). should return L = [a,b,d]...
thanks in advance...
removeNth([H|T],1,T).
removeNth([H|T],N,[H|X]) :- N1 is N-1, removeNth(T,N1,X).

Continue reading on narkive:
Loading...