Python全系列 教程
3567个小节阅读:5931k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
线性结构是一个由n(n>=0)个数据元素的组成的有序序列,比如如图:
分配连续的内存地址空间,来存储数据
优势:
缺点:
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构
如(a0,a1,a2,.....,an),a0为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合
说明
在Python中 list、tuple、string、bytes、bytearray都是线性结构
在此使用Python模拟实现下效果
注意
本质上数据结构的思想是语言无关的!!
def __init__(self, size:int) -> None: # 初始化参数
def __getitem__(self, index:int) -> object: # 获取指定索引数据
def __setitem__(self, key:int, value:object) -> None: # 给指定位置设置数据
def __len__(self) -> int: # 获取数据长度
def clear(self, value=None) -> None: # 清空数据
def __iter__(self): # 遍历所有数据
xclass Array:
def __init__(self, size:int=4) -> None: # 初始化参数
self.__size = size
self.__item = [None] * self.__size
self.__length = 0
def __getitem__(self, index:int) -> object: # 获取指定索引数据
if index >=0:
return self.__item[index]
else:
print('索引值应大于0')
def __setitem__(self, index:int, value:object) -> None: # 给指定位置设置数据
if index >=0 :
self.__item[index] = value
self.__length += 1
else:
print('索引值应大于0')
def __len__(self) -> int: # 获取数据长度
return self.__length
def clear(self) -> None: # 清空数据
self.__item = [None] * self.__size
def __iter__(self): # 遍历所有数据
for value in self.__item:
yield value
if __name__ == '__main__':
a1 = Array()
a1[0] = '孙悟空'
a1[1] = '猪八戒'
print(a1[0])
print(a1[1])
print('-'*30)
for v in a1:
print(v)
print(len(a1))
# a1[5] = 'python'
# print(a1[5])
实时效果反馈
1. 关于线性结构,说法错误的是?
A 集合中必存在唯一的一个"第一个元素"
B 除最后元素之外,其它数据元素均有唯一的"后继"
C 所有数据元素均有唯一的"前驱"
D 集合中必存在唯一的一个"最后的元素"
答案
1=>C