1)有序表可以是空集合,或者写成(a1,a2,a3,......,an,an)
2)存在唯一的第一个元素a1和唯一最后一个元素an。
3)除了第一个元素a1 外,每一个元素都有唯一的先行者。
4)除了最后一个元素an 外,每一个元素都有唯一的后继者。
静态数据结构:也称为“密集表”,它使用连续分配的内存空间来存储有序表中的数据。(静态数据结构是在编译时就给相关的变量分配好内存空间。在建立静态数据结构的初期,必须声明最大可能要占用的固定内存空间,因此容易造成内存浪费。优点:设计简单,读取与修改表中任意元素的时间是固定的。缺点:删除或加入数据时,需要移动大量数据)
动态数据结构:也称为“链表”,它使用不连续的内存空间存储具有线性表特性的数据。(优点:数据的插入或删除都相当方便,不需要移动大量数据。内存是在程序执行时才进行分配,所以不需要事先声明,节省内存。缺点:设计数据结构麻烦,查找数据时,无法像静态数据一般可以随机读取,必须直到按顺序找到改数据为止)
1)起始地址:表示数组名(或数组第一个元素)所在内存中的起始地址。
2)维度:一维、二维、三维。
3)索引上下限:
4)数组元素个数:是索引上限和索引下限的差加1。
5)数组类型:声明此数组的类型,它决定数组元素在内存所占容量的大小。
程序1是记录5个人分数,然后求平均值。
1 # 记录5个人分数,然后求平均 2 #一维列表使用 3 Score = [87,66,90,65,70] 4 Total_Score = 0 5 for count in range(5): 6 print(‘第 %d 位学生的分数:%d‘ %(count+1,Score[count])) 7 Total_Score += Score[count] 8 print(‘--------------------------‘) 9 print(‘5位学生的总分:%d‘ %Total_Score)
程序2表示的是输入一个二维列表表示的二阶行列式,并计算结果。
1 N = 2 2 # 声明二维数组 3 arr = [ [None]*N for row in range(N) ] 4 print(‘|a1 b1|‘) 5 print(‘|a2 a2|‘) 6 arr[0][0] = input(‘请输入a1:‘) 7 arr[0][1] = input(‘请输入b1:‘) 8 arr[1][0] = input(‘请输入a2:‘) 9 arr[1][1] = input(‘请输入b2:‘) 10 #求第二阶行列式的值 11 result = int(arr[0][0]) * int(arr[1][1]) - int(arr[0][1])*int(arr[1][0]) 12 print(‘|%d %d|‘ %(int(arr[0][0]),int(arr[0][1]))) 13 print(‘|%d %d|‘ %(int(arr[1][0]),int(arr[1][1]))) 14 print(‘行列式值=%d‘ %result)
程序3表示的找出2 X 3 X 3 三维数组中存储数值的最小值。
1 # 三维数组 2 num = [ [ [33,45,67],[23,71,66],[55,38,66] ], 3 [ [21,9,15],[38,69,18],[90,101,89] ] ] 4 value = num[0][0][0] 5 print(num) 6 for i in range(2): 7 for j in range(3): 8 for k in range(3): 9 if(value>=num[i][j][k]): 10 value = num[i][j][k] 11 print("最小值= %d" %value)
原文:https://www.cnblogs.com/yumoz/p/13635816.html