David Hláčik wrote:

so okay, i will create a helping set, where i will be adding elements
ID, when element ID will be allready in my helping set i will stop and
count number of elements in helping set. This is how long my cycled
linked list is.

CPython now does this in printing and marshalling/pickling so that the following terminates instead of going into an infinite spin.

>>> a=[1]
>>> b=[2,a]
>>> c=[3,b]
>>> d=[4,c]
>>> a.append(d)
>>> a
[1, [4, [3, [2, [...]]]]]
>>>

Sets cannot be recursive because members must be hashable.
Dict values do not have to be.  So
>>> d={1:None}
>>> d[1]=d
>>> d
{1: {...}}
>>>

But what if i have another condition , and that is *i can use only
helping memory with constant size* ? This means i am not able to
create any set and adding elements there. I need to have a constant
size variables . This is complication a complication for me.

Interesting problem. If it is homework, there must be an answer. Think time-space tradeoff. However, this of really off-topic here. It not only has nothing in particular to with Python, but an indefinitely long looping linked list is something very unlikely in a Python program since Python is based on array-type lists.

If you do write a solution in Python, you could, however, post it.

tjr

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to