- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二维阵列的应用
陣列的抽象定義是一組具有相同資料型態 (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陣列結
您可能关注的文档
- 三、重庆跨境电子商务贸易发展及监管现状.doc
- 三、问题.doc
- 三字经(pps投影片声音版).ppt
- 三打两建法制宣传资料-南方风机.ppt
- 三级妇幼保健院评审标准(2014年版).doc
- 上一主题广东地税网报培训课件-韶关市地方税务局门户网站-广东省.ppt
- 上宏观经济学王理老师课堂气氛调动得非常好,比喻生动形象。同时同学.doc
- 上市公司股利政策的行为金融学分析-暨南大学教育学院.doc
- 上市后药品风险管理的技术实践(陈易新).-国家药品评价中心.ppt
- 三腔损伤的特点和紧急处理.ppt
- 2026年周口市城乡一体化示范区招聘公益性岗位人员10人备考题库最新.docx
- 2025新疆六师公安机关面向社会招聘警务辅助人员55人考前自测高频考点模拟试题附答案.docx
- 2025江西省交投数智科技有限公司招聘12人笔试备考试题最新.docx
- 2025新疆兵投检验检测有限责任公司市场化招聘4人备考题库最新.docx
- 2025年莒南县司法局下属单位招聘备考题库附答案.docx
- 2025年陵县体育局下属单位招聘备考题库附答案.docx
- 2025年罗源县发改委下属事业单位招聘笔试参考题库附答案.docx
- 2025湖北交投宜昌高速公路建设管理有限公司管理人员遴选5人备考题库附答案.docx
- 2025广东深圳市福田区教育科学研究院市内选调教研员11人备考题库最新.docx
- 2025广东广州市岑村强制隔离戒毒所招聘警务辅助人员3人备考题库最新.docx
原创力文档


文档评论(0)