高通QSEE实战:利用RPMB与qsee_stor_write_sectors安全存储指纹支付密钥
2026/7/17 6:23:02
先前的字符串和数组(列表)两种结构:它们的元素按照一定的顺序排列,可以通过索引来访问数组中的元素和字符串中的字符。
缺点:
链表:链表的元素存储可以是不连续的,每个数据元素除了存储本身的信息,还存储下一个元素的地址(指针)。
next指针找到下一个节点,直到找到最后一个节点next指针指向None(Python 中表示空指针)如何在计算机世界表示人:
Person:包括姓名、性别、年龄属性和吃饭的方法Class 类:
MyName)classPerson:# 类中定义一个变量 name,会成为所有实例的公共属性name="Tom"# 类中定义函数,称之为方法,方法也可以通过该类的实例来访问defsay_hello(self):print("Hello")# 创建 Person 的实例person1=Person()person2=Person()# 实例可以调用属性person1.name="Jerry"person2.name="Mike"# 实例可以调用方法person1.say_hello()person2.say_hello()self__init__方法用于初始化实例属性,避免属性值被固定Python 类的基本结构:
class类名:# 公共属性# __init__ 方法def__init__(self,其他参数):# 初始化代码# 其他方法defmethod_1(self,其他参数):# 方法实现# 1. 定义链表节点类classNode:# __init__ 方法,初始化属性def__init__(self,data):self.data=data# 存储节点的数据self.next=None# next 指针初始化为 None# 2. 定义链表类,用于容纳链表节点classLinkList:def__init__(self):# 链表头节点,初始化为 Noneself.head_node=None# 链表长度,初始化为 0self.length=0目的:把一个新的数据节点,按顺序挂到整个链表的最后面。
步骤:
next指向新节点classLinkList:def__init__(self):self.head_node=Noneself.length=0# 尾部插入方法definsert(self,data):self.length+=1# 链表长度加 1new_node=Node(data)# 创建新节点ifself.head_nodeisNone:# 如果链表为空self.head_node=new_node# 新节点成为头节点returnself.head_node# 如果链表不为空,找到尾节点current_node=self.head_nodewhilecurrent_node.nextisnotNone:current_node=current_node.next# 将新节点连接到链表尾部current_node.next=new_nodereturnnew_node# 返回插入的节点# 链表节点类classNode:"""定义链表节点类,用于创建具体的节点对象"""def__init__(self,data):# 初始化方法,创建节点时调用(如 Node(5))self.data=data self.next=NoneclassLinkList:"""单向链表实现"""def__init__(self):# 刚创建的链表是空的,里面一个节点都没有self.head_node=Noneself.length=0# 初始化链表长度为 0definsert(self,data):"""在链表尾部插入新节点"""self.length+=1new_node=Node(data)ifself.head_nodeisNone:# 空链表self.head_node=new_nodereturnself.head_node# 非空链表,找到尾节点current_node=self.head_nodewhilecurrent_node.nextisnotNone:current_node=current_node.nextcurrent_node.next=new_nodereturnnew_nodedefprint_link_list(self):"""打印链表内容"""current_node=self.head_node# 从头节点开始遍历whilecurrent_nodeisnotNone:ifcurrent_node.nextisnotNone:print(current_node.data,end=" → ")else:print(current_node.data)# 最后一个节点current_node=current_node.next# 主程序if__name__=="__main__":whileTrue:try:n=int(input("请输入节点个数: "))elements=list(map(int,input("请输入节点数据(空格分隔): ").split()))except:breaklink_list=LinkList()fordatainelements:link_list.insert(data)print("链表内容: ",end="")link_list.print_link_list()