
Добавил:
linnesse
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Код лаб / ArrayList
.pyfrom array import array
import ctypes
class ArrayList():
def __init__(self):
self.count = 0
self.capacity = 16
self.array = self.make_array(self.capacity)
def size(self):
return self.count
def make_array(self, new_capacity):
return (new_capacity * ctypes.py_object)()
def get(self, i):
if i < 0 or i >= self.count:
print('Index is out of range')
return
return self.array[i]
def resize(self, new_capacity):
new_array = self.make_array(new_capacity)
for i in range(self.count):
new_array[i] = self.array[i]
self.array = new_array
self.capacity = new_capacity
def add(self, itm):
if self.count == self.capacity:
self.resize(2 * self.capacity)
self.array[self.count] = itm
self.count += 1
def indexOf(self, element):
for i in range(self.count):
if element == self.array[i]:
return i
return -1
def contains(self, element):
if self.indexOf(element) != -1:
return True
else:
return False
def isEmpty(self):
if self.count == 0:
return True
else:
return False
def set(self, index, element):
if index < 0 or index >= self.count:
print('Index is out of range')
return
self.array[index] = element
def remove_index(self, index):
if self.count == 0:
print("Array is empty")
return
if index < 0 or index >= self.count:
print('Index is out of range')
return
if index==self.count-1:
self.array[index] = 0
self.count-=1
return
for i in range(index, self.count-1):
self.array[i]=self.array[i+1]
self.array[self.count-1] = 0
self.count-=1
def remove_element(self, element):
index = self.indexOf(element)
if index != -1:
self.remove_index(index)
def split(self, str):
for i in range(len(str)):
if str[i]==' ':
continue
else:
self.add(str[i])
def clear(self):
del self.array
self.count = 0
def out(self):
print('[', end=' ')
for i in range(self.count):
print(self.get(i), end= ' ')
print(']')
def split(self, str):
str = str.split()
for i in range(len(str)):
self.add(str[i])
Соседние файлы в папке Код лаб