- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二維陣列的應用.ppt
陣列的抽象定義是一組具有相同資料型態 (data type) 的元素,所組成的有序集合 (ordered set),通常儲存在一塊連續的記憶體上 。 陣列的應用技巧可開啟善用陣列資料結構之門。 陣列在實體記憶空間中配置的關係可引領各位瞭解陣列資料結構如何存放在電腦中,以及程式語言、編譯器如何運作,方使陣列得以有效率地為吾人所用。 線性(有序)串列 串列形式 (e0, e1, e2, …, en-1) 其中 ei 為串列元素 n = 0 是一個有限整數 串列大小為n 線性串列 L = (e0, e1, e2, …, en-1) 關係 e0 是第零個元素 en-1 是最後一個元素 ei 緊接著ei+1 線性串列例子 班上學生 = (Jack, Jill, Abe, Henry, Mary, …, Judy) 資料結構之考試 = (考試一,考試二,考試三) 一週之七日 = (S, M, T, W, Th, F, Sa) 月份 = (Jan, Feb, Mar, Apr, …, Nov, Dec) 陣列的宣告與使用 任何資料結構的引用,皆需透過程式語言先行宣告,陣列的宣告必須包含三項要素: 陣列內元素值的指定assignment 1 main() 2 { int list[5]; 3 int i; 4 for (i=0 ; i5 ; i++) list[i]=i+1; 5 } 陣列list 的邏輯圖示 線性串列之陣列表示法 使用一個一維陣列 element[ ] 一維陣列 list[]={10,21,55,…,88,45,120}實際上在電腦記憶裡的儲存情形 一維陣列 若一維陣列A在記憶體中的起點為,而且任一元素佔用l位元組,若有n個元素,則陣列A在記憶體中的配置位置,可描繪如圖2-7。其中A[i]在記憶體中的位址為+i?l: A[i]在記憶體中的位址為+i?l 一維陣列 陣列A是一個有n個元素的一維陣列,其元素分別為A[0]、A[1]、…、A[n-1]。若其起始位址為α,而且各陣列元素大小為d,那麼A[i]的位址為α+(i-1)*d。 二維陣列 當二維陣列空間轉為一維記憶體空間時,可採以列為優先 (row major) 或採以行為優先 (column major) 的配置方式。 以列為優先的次序,指的是先依列由小到大的順序,再依行由小到大的順序存放資料,即第0列所有資料依行序存妥後,再將第1列所有資料依行序存妥…,依此類推。 行為優先的次序,則先依行由小到大的順序,再依列由小到大的順序存放陣列的資料。 二維陣列─int A[N][M] 二維陣列的實際記憶體配置 二維陣列 二維陣列在記憶體裡以列優先的排列 二維陣列 二維陣列在記憶體裡以列優先的排列 A35之前共有26個陣列元素 假設第一個元素所在的 位置為7300H 則Loc(A35)=7300H+3*7 +5-1=7300H+25 =7300H+19H=7319H。 二維陣列 二維陣列在記憶體裡以列優先的排列 假定有n列、m行且每個陣列元素佔d個位元組,陣列的起啟位置為α,則A(i,j)在記憶體裡的位置為: 二維陣列 以行優先 A35之前有28個陣列元 素,所以Loc(A35)= 7300H+28 =7300H +1CH=731CH 二維陣列 推導A(i,j)的位置公式得到: 三維陣列與高維陣列 在電腦的內部運作中,編譯器可先行找出陣列宣告的上下限值:u1, u2, … , un,然後利用n-2個乘法,求出上式的w1, w2, … , wn-1 (wn=1,不必求之),先行存下。而計算A[i1][i2]…[in]的位址時,即可利用上式,以n個乘法和n+1個加法求得其位址值。 也因而陣列是一個隨機(random access)存取的結構,其元素的存取與存放的位置無關。 三維陣列中元素的定址關係 加入一個元素 加入一個元素 假設要把100插入到list的第二個位子 必須先將list[23]的120搬到list[24] 把45搬到list[23],把88搬到list[22] 依此類推把原來list[2]到list[23]的內容都搬到list[3]到list[24]去 最後再把100存到list[2]。 加入一個元素 刪除一個元素 假如我們欲刪除的是list[2]的100 必須把list[3]的值複製到list[2] list[4]的值複製到list[3] 依此方法將list[2]~list[24]搬移到list[3]~list[23] 刪除一個元素─虛擬碼 procedure delete( i) { index j; for (j?i+1 to陣列結
您可能关注的文档
最近下载
- 招投标合规指引之招标常见问题(第一期).pdf VIP
- 2025版建筑行业临时用工合同范本(2025版).docx
- 痛风性关节炎-课件.ppt VIP
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- 2024年《高等教育心理学》教师岗前培训考试复习题库(含答案).docx VIP
- 四川省成都市双流区2024年小升初语文试卷 附解析.doc VIP
- Module4Unit1Willyoutakeyourkite?(教学设计)-英语四年级下册.docx
- 新闻编辑学 (第四版).pptx VIP
- 四川省成都市双流区2024年小升初语文试卷 附解析 .pdf VIP
- (人教2019版)化学必修第一册 全册大单元教学设计.docx
文档评论(0)