【課件】數(shù)組(Python版)課件-浙教版(2019)高二信息技術選修1《數(shù)據(jù)與數(shù)據(jù)結構》_第1頁
【課件】數(shù)組(Python版)課件-浙教版(2019)高二信息技術選修1《數(shù)據(jù)與數(shù)據(jù)結構》_第2頁
【課件】數(shù)組(Python版)課件-浙教版(2019)高二信息技術選修1《數(shù)據(jù)與數(shù)據(jù)結構》_第3頁
【課件】數(shù)組(Python版)課件-浙教版(2019)高二信息技術選修1《數(shù)據(jù)與數(shù)據(jù)結構》_第4頁
【課件】數(shù)組(Python版)課件-浙教版(2019)高二信息技術選修1《數(shù)據(jù)與數(shù)據(jù)結構》_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

程序設計中有關數(shù)組的概念及操作第一講情景創(chuàng)設學業(yè)水平考試已結束,假設現(xiàn)在我們可以查詢成績了,現(xiàn)學校要求我們設計一個程序幫助教務處分析我班50個同學信息技術的考試情況。請同學們思考,50個同學的數(shù)據(jù)需要定義多少個變量?數(shù)組概念是一組具有相同數(shù)據(jù)類型的變量的集合用一個數(shù)組名和下標來唯一的確定數(shù)組元素創(chuàng)建數(shù)組時系統(tǒng)會分配一塊連續(xù)的存儲空間,每個數(shù)組元素按照下標順序依次存儲d[i]d[0]d[1]d[2]256數(shù)組名下標或索引qp[i][j]d[0][0]d[0][1]d[0][2]010數(shù)組名下標或索引數(shù)組特征數(shù)據(jù)類型相同通過數(shù)組名和下標對數(shù)組元素的值進行訪問存儲空間固定不變(靜態(tài)數(shù)組)可能造成空間浪費和空間不夠?qū)е聰?shù)據(jù)丟失的現(xiàn)象。數(shù)組操作(創(chuàng)建\訪問\插入\刪除)創(chuàng)建:確定數(shù)據(jù)類型給初值,確定數(shù)量分配空間一維數(shù)組:1.直接創(chuàng)建2.間接創(chuàng)建(列表推導式)

數(shù)組操作(創(chuàng)建\訪問\插入\刪除)二維數(shù)組:1.直接創(chuàng)建2.間接創(chuàng)建(列表推導式)

一維數(shù)組元素的訪問:數(shù)組名[下標]Eg:foriinrange(4):print(qp[i])二維數(shù)組元素的訪問:數(shù)組名[行下標][列下標]Eg:foriinrange(4):forjinrange(4):print(qp[i][j])數(shù)組操作(創(chuàng)建\訪問\插入\刪除)拓展:對數(shù)組元素進行訪問后計算①變量s用于存儲數(shù)組中所有正數(shù)之和②變量c用于存儲數(shù)組中正數(shù)的個數(shù)S>0foriinrange(n):ifa[i]>0:S=S+a[i]print(S)C=0foriinrange(n):ifa[i]>0:C=C+1print(C)①變量k用于存儲數(shù)組中最大元素的值②變量k用于存儲數(shù)組中最大元素的下標拓展:對數(shù)組元素進行訪問后計算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)數(shù)組相鄰元素差值的最大值。(即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)拓展:對數(shù)組元素進行訪問后計算數(shù)組中所有大于key的元素中的最小值。例如a(1),a(2),a(3),a(4),a(5),a(6)的值分別為12,7,9,13,18,2時,所有大于10的元素中最小值為12。拓展:對數(shù)組元素進行訪問后計算min=10000foriinrange(0,n-1):ifa[i]>key:ifa[i]<min:min=a[i]print(min)數(shù)組操作(創(chuàng)建\訪問\插入\刪除)foriinrange(n-1,1,-1):d[i+1]=d[i]d[i]=Newdata1.在指定位置插入新數(shù)據(jù)2.有序數(shù)組中插入新數(shù)據(jù)(找位置)考慮在以上數(shù)組中插入新數(shù)據(jù)x=10使得數(shù)組依然有序,需要注意的地方有:1.插入的數(shù)據(jù)應該處在哪個位置;2.有沒有原始數(shù)據(jù)受影響以及如何消除影響。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數(shù)組操作(創(chuàng)建\訪問\插入\刪除)算法思想:(1).插入的數(shù)據(jù)應該處在哪個位置?從數(shù)組頭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).在確定新元素插入位置的情況下,后續(xù)的數(shù)組需要依次改變位置,使得最終的數(shù)組依然有序排列10112021 forjinrange(n-1,i,-1): a[j+1]=a[j] a[i]=x n=n+1往有序數(shù)組(升序)插入數(shù)據(jù)的算法: 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.后面的數(shù)據(jù)依次前移(n=5)假設刪除第3個元素刪除后n=4a[0]a[1]a[2]a[3]a[4]256911a[0]a[1]a[2]a[3]25911數(shù)組操作(創(chuàng)建\訪問\插入\刪除)foriinrange(3,n-1,1):d[i-1]=d[i]d[i]=Newdata2.最后面的數(shù)據(jù)直接替換(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數(shù)組操作(創(chuàng)建\訪問\插入\刪除)A=[1,3,5,7,9]B=[2,4,6,8]C=[1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論