- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
陣 列 內 容 大 綱 陣列的定義與存取 陣列的應用 — 儲存矩陣 陣列的應用 — 表示多項式 陣列的應用 — 魔術方陣 陣列的應用 — 隨機漫步 陣列的排序 — 氣泡排序 陣列的定義與存取(1/7) 陣列(array): 許多型別(type)相同並連續儲存的資料所構成的集合,一般我們使用註標(index)來儲存與擷取陣列中的個別資料 我們將陣列的存取方式分為:一維(one-dimension)陣列存取及多維(multi-dimension)陣列存取 一維(one-dimension)陣列存取使用一個註標(index)來存取陣列中的資料,是最簡單的陣列存取方法,一般我們使用以下的方法來描述:陣列識別名稱[註標] 圖4-1描述使用一個識別名稱為a的一維陣列在記憶體中連續儲存的情形。 陣列的定義與存取(2/7) 多維(multi-dimension)陣列存取使用多個(multiple)註標(index)來存取陣列中的資料,一般我們使用以下的方法來描述:陣列識別名稱[第一個註標] ... [最後一個註標] 以下我們使用多維陣列中最簡單的二維陣列存取來說明多維陣列存取的資料儲存方式。二維陣列使用二個註標來存取陣列中的資料,假設第一個註標有n個值(範圍由0至n-1),而第二個註標有m個值(範圍由0至m-1),則此二維陣列一共可以儲存n×m個元素。我們將第一個註標稱為列(row)註標,並將第二個註標稱為行(column)註標,我們並將此二維列稱為一個n列m行的陣列。二維陣列儲存的資料在邏輯上可以視為如圖4-2的形式。 陣列的定義與存取(3/7) 我們有二種方式來安排此n×m個元素在記憶體中的位置:一種為以列優先(row-major),另一種為以行優先(column-major) 二維陣列以列優先: 儲存資料時先將列註標為0(第1個值)的所有元素儲存完畢之後,再儲存列註標為1(第2個值)的所有元素,…,最後儲存列註標為n-1(第n個值)的所有元素。 假設陣列的識別名稱為a,若陣列的啟始位址為s(即陣列a由s開始儲存),則a[ i ][ j ]之位址為s+i×m×d+j×d。如圖4-3所示 陣列的定義與存取(4/7) 二維陣列以行優先: 儲存資料時先將行註標為0(第1個值)的所有元素儲存完畢之後,再儲存行註標為1(第2個值)的所有元素,…,最後儲存行註標為n-1(第n個值)的所有元素。 假設陣列的識別名稱為a,若陣列的啟始位址為s(即陣列a由s開始儲存),則a[ i ][ j ]之位址為s+j×n×d+i×d。如圖4-4所示 上述的二維陣列資料儲存位置的推導,採用C/C++/Java程式語言的慣例,將註標的最小值限定為0。依上述的推導,若有一個二維陣列a可以自行訂定0以外的陣列註標下限值。 陣列的定義與存取(5/7) 例如:列的上限與下限為及,而行的上限與下限為及,則以列優先存放資料,a[ i ][ j ]的儲存位置為 若以行優先存放資料則a[ i ][ j ]的存放位置為 依以上的二維陣列資料儲存位置推導,我們可以得到多維陣列(multi-dimension)資料儲存位置推導的公式。假設一個k維陣列a使用k個註標,第1個註標的上限與下限為l1和u1,…,第k個註標的上限與下限為Lk和Uk。我們將之表示為 陣列的定義與存取(6/7) 陣列的定義與存取(7/7) 陣列的應用 — 儲存矩陣(1/1) 矩陣(matrix)中含有大量連續依行與列排列整齊的資料,適合使用二維陣列來儲存,例如,對於一個的矩陣,我們可以使用一個m列n行的二維陣列來儲存。 以二維陣列的方式表示矩陣,也相當容易進行一些矩陣運算,例如,以下演算法顯示以二維陣列方式儲存的二個矩陣的乘積(product)運算 以下是以二維陣列的方式表示矩陣並進行矩陣乘積運算的範例程式 執行結果 陣列的應用 — 表示多項式(1/3) 陣列的應用 — 表示多項式(2/3) 陣列的應用 — 表示多項式(3/3) 以下我們介紹以儲存非0係數的方式表示多項式的情況下,執行二個多項式相加的演算法,例如 以下是以陣列儲存所有非0係數的方式表示多項式並進行多項式加法的範例程式 執行結果 陣列的應用 — 魔術方陣(1/1) 所謂魔術方陣(magic square) 就是一個由1到n2 的數字所組成的n?n陣列,具有各對角線,各橫行與縱列的數字和都相等的性質。 以下,我們介紹如何使用n為奇數的n?n二維陣列,來產生魔術方陣的演算法,例如 以下是以二維陣列產生奇數魔術方陣的範例程式 執行結果 陣列的應用—隨機漫步(1/2) 在數學上有一個稱為隨機漫步(random walk)的問題,這個問題很難用機率理論(probability theory)的技巧來分析解答,但是若能在電
您可能关注的文档
- 金融市场学课件讲解.ppt
- 金融理论与实践复习串讲讲解.ppt
- 金融学..ppt
- 金融理财概论讲解.ppt
- 金融理财第三章债券理财讲解.ppt
- 金融监管的目标与内容讲解.ppt
- 金融法讲解.ppt
- 金融市场讲解幻灯片.ppt
- 金融研究数据库RESSETDB操作指南讲解.ppt
- 金融投资分析2mba幻灯片.ppt
- 2026年泉州信息工程学院单招综合素质考试模拟试题附答案详解.docx
- 2026年浙江经贸职业技术学院单招综合素质考试备考题库附答案详解.docx
- 2026年上海电机学院单招综合素质笔试备考题库附答案详解.docx
- 2026年青海交通职业技术学院单招职业技能考试参考题库附答案详解.docx
- 2026年扬州工业职业技术学院单招综合素质考试备考试题附答案详解.docx
- 2026年湘潭医卫职业技术学院单招综合素质笔试模拟试题附答案详解.docx
- 2026年辽阳职业技术学院单招综合素质笔试模拟试题附答案详解.docx
- 2026年南昌工学院单招职业技能考试参考题库附答案详解.docx
- 2026年辽宁民族师范高等专科学校单招综合素质笔试参考题库附答案详解.docx
- 2026年承德护理职业学院单招综合素质考试备考题库附答案详解.docx
最近下载
- 北京四惠长途汽车站刻时表.doc VIP
- 创新与创业管理(南京邮电)中国大学MOOC慕课 答案.docx VIP
- 质量安全红线管理专项督查工作手册(第13版)(2).pdf VIP
- 高层建筑结构设计_部分1(共计417页)推荐.ppt
- 2026年时事政治测试题库必考.docx VIP
- 2025年学校领导班子述职述廉报告模版(六).docx VIP
- 创新与创业管理(南京邮电)中国大学MOOC慕课 答案.pdf VIP
- 2026年时事政治测试题库必考.docx VIP
- 2024年陕西省陕西测绘地理信息局下属事业单位考试真题.docx VIP
- 西门子PCS7_8.1软件(内部培训资料).pptx VIP
原创力文档


文档评论(0)