Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SortedList:
- class Node:
- def __init__(self,data,next=None):
- self._data=data
- self._next=next
- def getData(self):
- return self._data
- def getNext(self):
- return self._next
- def setData(self,data):
- self._data=data
- def setNext(self,next):
- self._next=next
- def __init__(self):
- self._head=None
- self._size=0
- def __str__(self):
- walker=self._head
- if walker is None:
- return "Pusta lista"
- tekst="->"
- while walker is not None:
- tekst+=str(walker.getData())
- tekst+=","
- walker=walker.getNext()
- return tekst[:-1]
- def insert(self,data):
- pred=None
- succ=self._head
- while succ is not None and succ.getData()<data:
- pred=succ
- succ=succ.getNext()
- new=SortedList.Node(data,succ)
- if pred is not None:
- pred.setNext(new)
- else:
- self._head=new
- self._size+=1
- def remove(self,data):
- pred=None
- succ=self._head
- flaga=0
- while succ is not None and flaga==0:
- while succ is not None and succ.getData()==data:
- succ=succ.getNext()
- flaga=1
- self._size-=1
- if flaga==0:
- pred=succ
- succ=succ.getNext()
- else:
- if pred is not None:
- pred.setNext(succ)
- else:
- self._head=succ
- def RemoveByIndex(self,index):
- pass
- def reverse(self):
- pass
- """
- def remove(self,data,onlyOne=False):
- pred=None
- succ=self._head
- while succ is not None:
- if succ.getData()=data:
- if pred is not None:
- pred.setNext(succ.getNext())
- else:
- self._head=succ.getNext()
- succ=succ.getNext()
- else:
- pred,succ=succ,succ.getNext()
- """
- if __name__=="__main__":
- s=SortedList()
- s.insert(3)
- s.insert(1)
- s.insert(2)
- s.insert(2)
- s.insert(2)
- s.insert(2)
- s.insert(2)
- print(s)
- s.remove(3)
- print(s)
- s.remove(1)
- print(s)
- s.remove(2)
- print(s)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement