Question: Edit the sortlist function and return a list that is sorted, please also finish the isSorted function(Please write in Python only) import random class Link

Edit the sortlist function and return a list that is sorted, please also finish the isSorted function(Please write in Python only)

import random

class Link (object): def __init__(self, data = None): self.data = data self.next = None

def get_next(self): return self.next def set_next(self, n): self.next = n def get_data(self): return self.data def set_data(self, d): self.data = d def __str__(self): return str(self.data) class LinkedList(object): def __init__(self, r = None): self.root = r self.size = 0 def getNumLinks(self): return self.size def addFirst(self, data): link = Link(data) link.next = self.root self.root = link self.size += 1 def addLast(self, data): if self.root == None: self.addFirst(data) return else: link = Link(data) temp = self.root while(temp.next): temp = temp.next temp.next = link self.size += 1 def addInOrder(self, data): if self.root is None: data.next = self.root self.root = data elif self.root.data >= data.data: data.next = self.root self.root = data else: current = self.root while(current.next is not None and current.next.data < data.data): current = current.next data.next = current.next current.next = data self.size += 1 def findUnordered(self, data): this = self.root while this.next: if this.data == data: return True else: this = this.get_next() return None def findOrdered(self, data): this = self.root while this.next: if this.data == data: return True else: this = this.get_next() return None def delete(self, data): de = self.root prev = None while de.next: if de.data == data: if prev: prev.set_next(de.get_next()) else: self.root = de self.size -= 1 return "Deleted Data" else: prev_node = de de = de.get_next() return "Could not delete data" def __str__(self): if self.root == None: return "List is empty" temp = self.root out = str(temp.data) + " " while(temp.next): temp = temp.next out += str(temp.data) + " " return out def copyList(self): empty = LinkedList() current = self.root while current.next != None: empty.addLast(current.data) current = current.next empty = str(empty) + str(current.data) return empty def reverseList(self): prev = None current = self.root while current != None: next = current.next current.next = prev prev = current current = next self.root = prev def sortList(self): prev = self.root current = prev.get_next() temp = current. get_next() stop = False while current != None: if current.get_data() > temp.get_data(): prev.set_next(temp) temp.set_next(current) current.set_next(temp.get_next()) prev = current current = temp temp = temp.get_next() else: previous = current current = temp temp = temp.get_next()

def isSorted(self):

def main(): lis1 = LinkedList() for i in range(12): new = random.randint(1, 99) lis1.addFirst(new) print(lis1) print()

main()

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!