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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

一維數(shù)組元素的訪問:數(shù)組名[下標(biāo)]Eg:foriinrange(4):print(qp[i])二維數(shù)組元素的訪問:數(shù)組名[行下標(biāo)][列下標(biāo)]Eg:foriinrange(4):forjinrange(4):print(qp[i][j])數(shù)組操作(創(chuàng)建\訪問\插入\刪除)拓展:對(duì)數(shù)組元素進(jìn)行訪問后計(jì)算①變量s用于存儲(chǔ)數(shù)組中所有正數(shù)之和②變量c用于存儲(chǔ)數(shù)組中正數(shù)的個(gè)數(shù)S>0foriinrange(n):ifa[i]>0:S=S+a[i]print(S)C=0foriinrange(n):ifa[i]>0:C=C+1print(C)①變量k用于存儲(chǔ)數(shù)組中最大元素的值②變量k用于存儲(chǔ)數(shù)組中最大元素的下標(biāo)拓展:對(duì)數(shù)組元素進(jìn)行訪問后計(jì)算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)拓展:對(duì)數(shù)組元素進(jìn)行訪問后計(jì)算數(shù)組中所有大于key的元素中的最小值。例如a(1),a(2),a(3),a(4),a(5),a(6)的值分別為12,7,9,13,18,2時(shí),所有大于10的元素中最小值為12。拓展:對(duì)數(shù)組元素進(jìn)行訪問后計(jì)算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ù)應(yīng)該處在哪個(gè)位置;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]對(duì)應(yīng)值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對(duì)應(yīng)值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對(duì)應(yīng)值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ù)應(yīng)該處在哪個(gè)位置?從數(shù)組頭a(1)開始逐個(gè)比較其值與10的大小 i=0 whilex>a[i]andi<=n-1:i=i+1a[i]對(duì)應(yīng)值a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]256911202110a[i]對(duì)應(yīng)值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]對(duì)應(yīng)值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)假設(shè)刪除第3個(gè)元素刪除后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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論