【課件】數組(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

提交評論