Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Sparse Array mostly completed. Very cool assignment actually. learned…
… a lot
  • Loading branch information
unknown unknown
unknown authored and unknown committed Mar 10, 2016
commit d784408f9595310e4a139c3bfd6b3139b1afc2cf
62 changes: 45 additions & 17 deletions students/MichaelGregor/Session 9/SparseArray.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,55 @@

class SparseArray(object):

def __init__(self, array=[]):
self._array = array

@property
def array(self):
return self.array

@array.setter
def array(self, item):
self.array.append(item)

@array.deleter
def array(self, index):
self.array.pop[index]
def __init__(self, array):
if array == None:
return self._array
else:
self._array = array

def __getitem__(self, key):
try:
return self._array[key]
except IndexError:
return 0

def __setitem__(self, key, value):
try:
if value is not 0:
self._array[key] = value
except IndexError:
num_diff = (key - len(self._array))
for index in range(num_diff):
self._array.append(0)
self._array.append(value)

def __delitem__(self, key):
del self._array[key]

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

def append(self, item):
self._array.append(item)


def main():

sa = SparseArray([1, 2, 3, 4])


sa = SparseArray([1,2,0,0,0,0,3,0,0,4])
print(len(sa))
sa.append(5)
print("index 10 is {}".format(sa[10]))
sa[2] = 9
print("index 2 is {}".format(sa[2]))
del sa[2]
print("index 2 is {}".format(sa[2]))
sa[15] = 20
print("index 15 is {}".format(sa[15]))
print("index 12 is {}".format(sa[12]))
sa[15] = 0
print("index 15 is {}".format(sa[15]))
value = sa[25]
print(value)


if __name__ == "__main__":
Expand Down