class Queue: def __init__(self): self.queue = LinkedList() def enqueue(self, obj): self.queue.add(obj) def dequeue(self): return self.queue.poll_first() def size(self): return self.queue.size() def isEmpty(self): return self.queue.is_empty()
class DeQueue: def __init__(self): self.queue = LinkedList() def enqueue_from_rear(self, obj): self.queue.add(obj) def enqueue_from_front(self, obj): self.queue.add_first(obj) def dequeue_from_rear(self): return self.queue.poll_last() def dequeue_from_front(self): return self.queue.poll_first() def size(self): return self.queue.size() def is_empty(self): return self.queue.is_empty()
def hashing_num(self): for i in range(11): self.list.append(LinkedList()) number = read_from_file("number.txt") for i in range(len(number)): res = int(number[i]) % 11 self.list[res].sort(number[i]) # print(number[i]) self.display_hash() self.get_number() self.display_hash() try: f = open("number.txt", 'r+') except IOError: print("number.txt file not found.") else: f.truncate() for i in range(11): if self.list[i].is_empty(): continue append("number.txt", self.list[i])
class Stack: def __init__(self): self.stack = LinkedList() def push(self, obj): self.stack.add(obj) def pop(self): return self.stack.poll_last() def peak(self): return self.stack.get_last() def size(self): return self.stack.size() def isEmpty(self): return self.stack.is_empty()
def __init__(self): self.queue = LinkedList()
def __init__(self): self.customer_list = LinkedList() self.company_list = LinkedList()
class CompanyShareWithLinkedList: def __init__(self): self.customer_list = LinkedList() self.company_list = LinkedList() def add_new_customer(self): customer_data = FileLoad.json_file_load("json_file/customer.json") for i in customer_data: self.customer_list.add(i) try: customer_id = input("Enter customer id : ").strip() customer_name = input("Enter customer name : ").strip().upper() balance = input( "Enter balance to add share market account : ").strip() if not customer_id.isnumeric() or not customer_name.isalpha( ) or not balance.isnumeric(): raise ValueError except ValueError: print("You have entered wrong data.") return data = {} new_customer = { "id": customer_id, "name": customer_name, "balance": balance, "data": data } flag = True for i in range(self.customer_list.size()): temp = self.customer_list.get_by_index(i) if temp["id"] == customer_id or str(temp["name"]) == customer_name: print("Your account already available.") flag = False break if flag: self.customer_list.add(new_customer) list = [] size = self.customer_list.size() for i in range(size): list.append(self.customer_list.poll_first()) FileLoad.json_file_write("json_file/customer.json", list) def add_new_company(self): company_data = FileLoad.json_file_load("json_file/company.json") for i in company_data: self.company_list.add(i) try: company_name = input("Enter company name : ").strip().upper() no_of_share = input("Enter number of share : ").strip() price = input("Enter share per price : ").strip() balance = input("Enter balance amount : ").strip() if not company_name.isalpha() or not no_of_share.isnumeric( ) or not price.isnumeric() or not balance.isnumeric(): raise ValueError except ValueError: print("You have entered wrong data.") return new_company = { company_name: { "no_of_share": no_of_share, "price": price, "balance": balance } } flag = True for i in range(self.company_list.size()): data = self.company_list.get_by_index(i) if data.get(company_name) == None: print("Your account already available.") flag = False break if flag: self.company_list.add(new_company) list = [] size = self.company_list.size() for i in range(size): list.append(self.company_list.poll_first()) # print(self.company_list.display()) def remove_customer(self): customer_data = FileLoad.json_file_load("json_file/customer.json") for i in customer_data: self.customer_list.add(i) try: customer_id = input("Enter customer id : ").strip() customer_name = input("Enter customer name : ").strip().upper() if not customer_id.isnumeric() or not customer_name.isalpha(): raise ValueError except ValueError: print("You have entered wrong data.") return for i in range(self.customer_list.size()): temp = self.customer_list.get_by_index(i) if temp["id"] == customer_id or str(temp["name"]) == customer_name: self.customer_list.delete_by_index(i) break list = [] size = self.customer_list.size() for i in range(size): list.append(self.customer_list.poll_first()) FileLoad.json_file_write("json_file/customer.json", list) def remove_company(self): company_data = FileLoad.json_file_load("json_file/company.json") for i in company_data: self.company_list.add(i) try: company_name = input("Enter company name : ").strip().upper() if not company_name.isalpha(): raise ValueError except ValueError: print("You have entered wrong data.") return flag = True for i in range(self.company_list.size()): data = self.company_list.get_by_index(i) if data.get(company_name) == None: self.company_list.delete_by_index(i) break list = [] size = self.company_list.size() for i in range(size): list.append(self.company_list.poll_first()) # print(self.company_list.display()) def save(self): pass
def __init__(self): self.list = LinkedList()
class OrderedList: def __init__(self): self.list = LinkedList() def orderedList(self): number = IO.read_from_file("number.txt") for j in number: self.list.add(j) self.list.display() n = input('\nEnter number :').strip() if self.list.search(n): self.list.remove(n) print("Removed") else: self.list.add(n) print("Added") self.list.display() IO.write_to_file("number.txt", self.list)
class UnOrderedList: def __init__(self): self.list = LinkedList() def unorderedList(self): word = IO.read_from_file("abc.txt") for j in word: self.list.add(j) self.list.display() w = input('\nEnter word :').strip() if self.list.search(w): self.list.remove(w) print("Removed") else: self.list.add(w) print("Added") self.list.display() IO.write_to_file("abc.txt", self.list)
def __init__(self): self.stack = LinkedList()