使用二维数组从(行、列、值)的元组列表构建电子表格。没有 numpy 这与这个结果相同,但我不知道该怎么做 我只知道链表和双链表的基本概念,但这目前很难,我不知道该怎么做或它看起来如何 所以目前我的代码只能构建一个不匹配的单双链表
如果请帮助我如何构建电子表格,这样我就可以完成剩下的作业,那就太好了
class Node:
'''
A basic type in linked list
'''
def __init__(self, value=None):
self.m_value = value
self.m_next = None
self.m_prev = None
def get_value(self):
return self.m_value
def get_next(self):
return self.m_next
def get_prev(self):
return self.m_prev
def set_value(self, value):
self.m_value = value
def set_next(self, next):
self.m_next = next
def set_prev(self, prev):
self.m_prev = prev
class LinkedListSpreadsheet(BaseSpreadsheet):
# Default constructor
def __init__(self):
"""
Default constructor.
"""
self.m_head = None
self.m_tail = None
self.m_length = 0
self.m_rows = 0
self.m_cols = 0
def buildSpreadsheet(self, lCells: [Cell]):
"""
Construct the data structure to store nodes.
@param lCells: list of cells to be stored
"""
for cell in lCells:
node = Node(cell)
# If head is empty, then list is empty and head and tail references need to be initialised.
if self.m_head is None:
self.m_head = node
self.m_tail = node
# otherwise, add node to the End of list.
# why doing in this reverse order from the lab => because it will match the correct order of lcell
# Or we can just reverse print but very hard to track
else:
node.set_next(self.m_head)
self.m_head.set_prev(node)
self.m_head = node
self.m_length += 1
buildSpreadsheet 100% 不正确,我不知道如何修复它