Advertisement
Guest User

Python - Lab6

a guest
Apr 25th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.59 KB | None | 0 0
  1. class SortedList:
  2.     class Node:
  3.         def __init__(self,data,next=None):
  4.             self._data=data
  5.             self._next=next
  6.          
  7.         def getData(self):
  8.             return self._data
  9.          
  10.         def getNext(self):
  11.             return self._next
  12.      
  13.         def setData(self,data):
  14.             self._data=data
  15.          
  16.         def setNext(self,next):
  17.             self._next=next  
  18.            
  19.     def __init__(self):
  20.         self._head=None
  21.         self._size=0
  22.  
  23.     def __str__(self):
  24.         walker=self._head
  25.         if walker is None:
  26.             return "Pusta lista"
  27.         tekst="->"
  28.         while walker is not None:
  29.             tekst+=str(walker.getData())
  30.             tekst+=","
  31.             walker=walker.getNext()
  32.         return tekst[:-1]
  33.    
  34.    
  35.     def insert(self,data):
  36.         pred=None
  37.         succ=self._head
  38.         while succ is not None and succ.getData()<data:
  39.             pred=succ
  40.             succ=succ.getNext()
  41.         new=SortedList.Node(data,succ)
  42.         if pred is not None:
  43.             pred.setNext(new)
  44.         else:
  45.             self._head=new
  46.         self._size+=1
  47.        
  48.     def remove(self,data):
  49.         pred=None
  50.         succ=self._head
  51.         flaga=0
  52.         while succ is not None and flaga==0:
  53.             while succ is not None and succ.getData()==data:
  54.                 succ=succ.getNext()
  55.                 flaga=1
  56.                 self._size-=1
  57.             if flaga==0:
  58.                 pred=succ
  59.                 succ=succ.getNext()
  60.             else:
  61.                 if pred is not None:
  62.                     pred.setNext(succ)
  63.                 else:
  64.                     self._head=succ
  65.                    
  66.     def RemoveByIndex(self,index):
  67.         pass
  68.     def reverse(self):
  69.         pass
  70.                    
  71.     """
  72.    def remove(self,data,onlyOne=False):
  73.        pred=None
  74.        succ=self._head
  75.        while succ is not None:
  76.            if succ.getData()=data:
  77.                if pred is not None:
  78.                    pred.setNext(succ.getNext())
  79.                else:
  80.                    self._head=succ.getNext()
  81.                succ=succ.getNext()
  82.          
  83.            else:
  84.                pred,succ=succ,succ.getNext()
  85.              
  86.    """    
  87.            
  88.  
  89.        
  90.        
  91.        
  92.        
  93.        
  94. if __name__=="__main__":
  95.     s=SortedList()
  96.     s.insert(3)
  97.     s.insert(1)
  98.     s.insert(2)
  99.     s.insert(2)
  100.     s.insert(2)
  101.     s.insert(2)
  102.     s.insert(2)
  103.     print(s)
  104.     s.remove(3)
  105.     print(s)
  106.     s.remove(1)
  107.     print(s)  
  108.     s.remove(2)
  109.     print(s)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement