Exemplo n.º 1
0
class ArrayList:

    #implements the ADT List (List.py)
    #uses the DynamicArray class (DynamicArray.py)
    def __init__( self ):
        self._A = DynamicArray()

    def __len__( self ):
        return len( self._A )

    def __str__( self ):
        return str( self._A )

    def __getitem__( self, k ):
        return self._A[k]

    #append at the end of the list
    def append( self, obj ):
        self._A.append( obj )

    #remove the ith element of the list
    def remove( self, i ):
        if len( self._A ) == 0:
            return False
        else:
            self._A.remove( i )
            return True

    #return the rank of obj in the list
    def find( self, obj ):
        return self._A.find( obj )
Exemplo n.º 2
0
class ArrayStack:

    #implements the ADT Stack (Stack.py)
    #uses the DynamicArray class (DynamicArray.py)
    def __init__( self ):
        self._A = DynamicArray()

    def __len__( self ):
        return len( self._A )

    def is_empty( self ):
        return len( self._A ) == 0

    def __str__( self ):
        pp = str( self._A )
        pp += "[top = " + str( len( self._A ) - 1 ) + ")"
        return pp

    #push obj
    def push( self, obj ):
        self._A.append( obj )

    #pop
    def pop( self ):
        return self._A.remove( len( self._A ) )

    #top
    def top( self ):
        return self._A.get( len( self._A ) )
Exemplo n.º 3
0
class ArrayStack:

    #implements the ADT Stack (Stack.py)
    #uses the DynamicArray class (DynamicArray.py)
    def __init__(self):
        self._A = DynamicArray()

    def __len__(self):
        return len(self._A)

    def is_empty(self):
        return len(self._A) == 0

    def __str__(self):
        pp = str(self._A)
        pp += "[top = " + str(len(self._A) - 1) + ")"
        return pp

    #push obj
    def push(self, obj):
        self._A.append(obj)

    #pop
    def pop(self):
        return self._A.remove(len(self._A))

    #top
    def top(self):
        return self._A.get(len(self._A))
Exemplo n.º 4
0
class ArrayList(List):

    # implémente l'ADT List (List.py)
    # utilise la classe DynamicArray (DynamicArray.py)
    def __init__(self):
        self._A = DynamicArray()

    # retourne le nombre d'éléments
    def __len__(self):
        return len(self._A)

    # retourne une chaîne de caractères représentant la liste
    def __str__(self):
        return str(self._A)

    # accès avec notation des crochets
    def __getitem__(self, k):
        return self._A[k]

    # ajoute l'élément obj à la fin de la liste
    def append(self, obj):
        self._A.append(obj)

    # retire le ième élément de la liste
    def remove(self, i):
        return self._A.remove(i)

    # retourne l'index de l'élément obj s'il existe
    def find(self, obj):
        return self._A.find(obj)
Exemplo n.º 5
0
 def test_pop_len(self):
     a = DynamicArray()
     a.append(2)
     a.append(1)
     a.append(4)
     a.append(6)
     a.pop()
     assert len(a) == 3
Exemplo n.º 6
0
class ArrayStack(Stack):

    # implémente l'ADT Stack (Stack.py)
    # avec un tableau dynamique (DynamicArray.py)
    def __init__(self):
        self._A = DynamicArray()

    def __len__(self):
        return len(self._A)

    def is_empty(self):
        return len(self._A) == 0

    def __str__(self):
        pp = str(self._A)
        if self.is_empty():
            pp += "[empty stack]"
        else:
            obj = self.top()
            pp += "[top = " + str(obj) + ", idx = " + str(len(self._A) -
                                                          1) + "]"
        return pp

    # push implémenté avec append
    def push(self, obj):
        self._A.append(obj)

    # pop récupère l'erreur de DynamicArray
    def pop(self):
        try:
            return self._A.pop()
        except IndexError:
            return None

    # top implémenté avec get du dernier élément
    def top(self):
        return self._A.get(len(self._A) - 1)
__author__ = 'Stephen'

from DynamicArray import DynamicArray
from SortedList import SortedList
import sys

array = DynamicArray()
array.append(198479874)
for i in range(5000):
    array.append("1")
    size = sys.getsizeof(array)
    print "Size in bytes: " + str(size)
Exemplo n.º 8
0
 def test_append_indexing(self):
     arr = DynamicArray()
     arr.append(1)
     assert arr[0] == 1
Exemplo n.º 9
0
 def test_pop_i(self):
     a = DynamicArray()
     a.append(2)
     a.append(1)
     a.append(4)
     assert a.pop(1) == 1
Exemplo n.º 10
0
 def test_append_len(self):
     arr = DynamicArray()
     arr.append(1)
     arr.append(2)
     assert len(arr) == 2
Exemplo n.º 11
0
from DynamicArray import DynamicArray

arr = DynamicArray()
for i in range(11):
    arr.append(i)

for i in range(len(arr)):
    print(arr[i])
Exemplo n.º 12
0
from DynamicArray import DynamicArray

a = DynamicArray()
a.append(5)
a.append(10)
a.append(15)

print(a)