【课件】数组(Python版)课件-浙教版(2019)高二信息技术选修1《数据与数据结构》_第1页
【课件】数组(Python版)课件-浙教版(2019)高二信息技术选修1《数据与数据结构》_第2页
【课件】数组(Python版)课件-浙教版(2019)高二信息技术选修1《数据与数据结构》_第3页
【课件】数组(Python版)课件-浙教版(2019)高二信息技术选修1《数据与数据结构》_第4页
【课件】数组(Python版)课件-浙教版(2019)高二信息技术选修1《数据与数据结构》_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计中有关数组的概念及操作第一讲情景创设学业水平考试已结束,假设现在我们可以查询成绩了,现学校要求我们设计一个程序帮助教务处分析我班50个同学信息技术的考试情况。请同学们思考,50个同学的数据需要定义多少个变量?数组概念是一组具有相同数据类型的变量的集合用一个数组名和下标来唯一的确定数组元素创建数组时系统会分配一块连续的存储空间,每个数组元素按照下标顺序依次存储d[i]d[0]d[1]d[2]256数组名下标或索引qp[i][j]d[0][0]d[0][1]d[0][2]010数组名下标或索引数组特征数据类型相同通过数组名和下标对数组元素的值进行访问存储空间固定不变(静态数组)可能造成空间浪费和空间不够导致数据丢失的现象。数组操作(创建\访问\插入\删除)创建:确定数据类型给初值,确定数量分配空间一维数组:1.直接创建2.间接创建(列表推导式)

数组操作(创建\访问\插入\删除)二维数组:1.直接创建2.间接创建(列表推导式)

一维数组元素的访问:数组名[下标]Eg:foriinrange(4):print(qp[i])二维数组元素的访问:数组名[行下标][列下标]Eg:foriinrange(4):forjinrange(4):print(qp[i][j])数组操作(创建\访问\插入\删除)拓展:对数组元素进行访问后计算①变量s用于存储数组中所有正数之和②变量c用于存储数组中正数的个数S>0foriinrange(n):ifa[i]>0:S=S+a[i]print(S)C=0foriinrange(n):ifa[i]>0:C=C+1print(C)①变量k用于存储数组中最大元素的值②变量k用于存储数组中最大元素的下标拓展:对数组元素进行访问后计算k=a[0]Foriinrange(1,n):ifa[i]>k:k=a[i]print(k)k=0Foriinrange(1,n):ifa[i]>a[k]:k=iprint(k)数组相邻元素差值的最大值。(即a(2)-a(1)、a(3)-a(2)„„a(n)-a(n-1)中的最大值)k=a[1]-a[0]foriinrange(2,n):ifa[i]-a[i-1]>k:k=a[i]-a[i-1]print(k)拓展:对数组元素进行访问后计算数组中所有大于key的元素中的最小值。例如a(1),a(2),a(3),a(4),a(5),a(6)的值分别为12,7,9,13,18,2时,所有大于10的元素中最小值为12。拓展:对数组元素进行访问后计算min=10000foriinrange(0,n-1):ifa[i]>key:ifa[i]<min:min=a[i]print(min)数组操作(创建\访问\插入\删除)foriinrange(n-1,1,-1):d[i+1]=d[i]d[i]=Newdata1.在指定位置插入新数据2.有序数组中插入新数据(找位置)考虑在以上数组中插入新数据x=10使得数组依然有序,需要注意的地方有:1.插入的数据应该处在哪个位置;2.有没有原始数据受影响以及如何消除影响。a(1)a(2)a(3)a(4)a(5)a(6)a(7)a(8)a(9)a(10)2569112021a[i]对应值a(1)a(2)a(3)a(4)a(5)a(6)a(7)a(8)a(9)a(10)2569112021a(1)a(2)a(3)a(4)a(5)a(6)a(7)a(8)a(9)a(10)2569112021对应值a(1)a(2)a(3)a(4)a(5)a(6)a(7)a(8)a(9)a(10)2569112021a(1)a(2)a(3)a(4)a(5)a(6)a(7)a(8)a(9)a(10)2569112021对应值a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]2569112021数组操作(创建\访问\插入\删除)算法思想:(1).插入的数据应该处在哪个位置?从数组头a(1)开始逐个比较其值与10的大小 i=0 whilex>a[i]andi<=n-1:i=i+1a[i]对应值a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]256911202110a[i]对应值a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]2569算法思想:(2).在确定新元素插入位置的情况下,后续的数组需要依次改变位置,使得最终的数组依然有序排列10112021 forjinrange(n-1,i,-1): a[j+1]=a[j] a[i]=x n=n+1往有序数组(升序)插入数据的算法: i=0 whilex>a[i]andi<=n:i=i+1 forjinrange(n-1,i,-1): a[j+1]=a[j] a[i]=x n=n+1a[i]对应值a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]2569101120211.后面的数据依次前移(n=5)假设删除第3个元素删除后n=4a[0]a[1]a[2]a[3]a[4]256911a[0]a[1]a[2]a[3]25911数组操作(创建\访问\插入\删除)foriinrange(3,n-1,1):d[i-1]=d[i]d[i]=Newdata2.最后面的数据直接替换(n=5)删除后n=4a[0]a[1]a[2]a[3]a[4]256911a[0]a[1]a[2]a[3]25119代码如下:a[2]=a[n-1]n=n-1数组操作(创建\访问\插入\删除)A=[1,3,5,7,9]B=[2,4,6,8]C=[1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论