Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Need help with my python thank you Consider the Node class below class Node: def

ID: 3752553 • Letter: N

Question

Need help with my python

thank you

Consider the Node class below class Node: def __init__(self, init_data): self.data-init_data self.next = None def get.data seLf): def get_next(self): def set_data(self, new_data): def set_next(self, new_next): def __str__(self): return self.data return self.next self, data new-data = self.next -new_next return self.datoa Using the Node class, provide an implementation of the Unordered List ADT as discussed in lectures. You will need to implement the following methods add remove) search Is_empty0 . size) . _str_0

Explanation / Answer

Below is your code: -

class UnorderedList:

def __init__(self):

self.head = None

def isEmpty(self):

return self.head == None

def add(self,item):

temp = Node(item)

temp.set_Next(self.head)

self.head = temp

def size(self):

current = self.head

count = 0

while current != None:

count = count + 1

current = current.get_Next()

return count

def search(self,item):

current = self.head

found = False

while current != None and not found:

if current.get_Data() == item:

found = True

else:

current = current.get_Next()

return found

def remove(self,item):

current = self.head

previous = None

found = False

while not found:

if current.get_Data() == item:

found = True

else:

previous = current

current = current.get_Next()

if previous == None:

self.head = current.get_Next()

else:

previous.set_Next(current.get_Next())

def __str__(self):

list_str = "head"

current = self.head

while current != None:

list_str = list_str + "->" + str(current.get_Data())

current = current.get_Next()

list_str = list_str + "->" + str(None)

return list_str

def append(self, item):

"""add items into the linked from the other direction compared to add()"""

current = self.head

while current.get_Next() != None:

current = current.get_Next()

temp = Node(item)

temp.set_Next(current.get_Next())

current.set_Next(temp)

def getIndex(self, item):

"""get the index of an item, assume the first one (head pointing to) is 0"""

index = 0

current = self.head

found = False

while current != None:

if current.get_Data() == item:

found = True

break

else:

current = current.get_Next()

index += 1

if not found:

index = None

return index

def getItem(self, index):

"""return an item given an index"""

current = self.head

for i in range(index):

current = current.get_Next()

if current != None:

return current.get_Data()

else:

raise("index out of range")

def pop(self, index):

self.remove(self.getItem(index))

def insert(self, index, item):

"""insert an item after index item"""

current = self.head

for i in range(index):

current = current.get_Next()

if current != None:

temp = Node(item)

temp.set_Next(current.get_Next())

current.set_Next(temp)

else:

raise("index out of range")

      

def pop(self, index=None):

if index is None:

index = self.size()-1

if index > self.size()-1:

raise IndexError('List Index Out Of Range')

current = self.head

previous = None

found = False

if current:

count = 0

while current.get_Next() is not None and not found:

if count == index:

found = True

else:

previous = current

current = current.get_Next()

count += 1

if previous is None:

self.head = current.get_Next()

if current.get_Next() is None:

self.tail = current.get_Next()

else:

self.tail = previous

previous.set_Next(current.get_Next())

count -= 1

return current.get_Data()


class Node:

def __init__(self,initdata):

self.data = initdata

self.next = None

def get_Data(self):

return self.data

def get_Next(self):

return self.next

def set_Data(self,newdata):

self.data = newdata

def set_Next(self,newnext):

self.next = newnext

  

def __str__(self):

return self.data

alist = UnorderedList()

alist.add(30)

alist.add(31)

alist.add(27)

alist.append(100)

alist.append(101)

print (alist)

print (alist.getIndex(27))

print (alist.getItem(4))

alist.pop(4)

print (alist)

alist.insert(1, 5)

print (alist)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote