資料結構使用Java 第5章 串列程式實作.

Slides:



Advertisements
Similar presentations
資料結構 – 鏈結串列 Linked List 綠園. 鏈結串列 -Linked List Linked List 是由許多相同資料型態的項目所組 成的有限序列。 可以把鏈結串列想像成火車,有多少人就只掛多 少節的車廂,需要車廂時再跟系統要一個車廂, 人少了就把車廂還給系統。 鏈結串列是有多少資料用多少記憶體空間,有新.
Advertisements

計算機程式語言實習課.
陣列 Array chapter 3 德明科技大學資訊科技系.
陣列與字串 Java陣列特性 一維陣列 多維陣列 字串 字串的相關函數 字串緩衝器類別.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
Project 2 JMVC code tracing
資料結構 Data Structure.
第2章 陣列與結構 (Arrays and Structures)
資料結構 第2章 陣列.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
資料結構 第3章 鏈結串列.
第4章 鏈結串列(Linked Lists) 4-1 動態記憶體配置 4-2 鏈結串列的基礎 4-3 單向鏈結串列 4-4 環狀鏈結串列
資料結構設計與C++程式應用 Fundamentals of Data Structures and Their Applications Using C++ 第3章 佇列 資料結構設計與C++程式應用.
4.1 單項鏈結串列 4.2 環狀串列 4.3 雙向鏈結串列 4.4 鏈結串列之應用
Chapter 3 鏈結串列結構 資料結構導論 - C語言實作.
JAVA 程式設計與資料結構 第六章 輸出與輸入.
串列(List) 撰寫一串列程式.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
第二章 鏈結串列 2-1 線性串列 2-2 認識陣列 2-3 矩陣的簡介與運算 2-4 陣列與多項式.
(Circular Linked Lists)
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
Echo Server/Client Speaker:Fang.
App Inventor2呼叫PHP存取MySQL
鏈結串列 (Linked List) 註:要會指標(Pointer)
學習 2019/1/12. 學習 2019/1/12 Chapter 3 鏈結串列結構 資料結構導論 - C語言實作.
資料結構使用Java 第8章 佇列(Queue).
4.1 單向鏈結串列 4.2 堆疊的加入與刪除 4.3 佇列的加入與刪除 4.4 其他型式的佇列
資料結構 第1章 導論.
第三章 鏈結串列 3-1  單向鏈結串列 3-2 環狀鏈結串列 3-3 雙向鏈結串列.
Java 程式設計 講師:FrankLin.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
Topic Introduction—RMI
TB-054A  周天穎 編著 儒林圖書公司 發行.
陣列(Array).
資料結構 優點 缺點 1 陣列 (Array) 沒有額外變量 (例head, next,...) 運作/操作較簡單 更新資料時,若要保持順序,需要移動較大量資料 靜態結構Static (宣告時已決定了陣列元素多少,不能在程式執行期間增減元素) 2 隊列Queue (FIFO) 容易更新 加入enqueue:
第一章 直角坐標系 1-3 函數圖形.
陣列
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
GUI Title and GUI Status
挑戰C++程式語言 ──第8章 進一步談字元與字串
進階佇列.
如何使用Gene Ontology 網址:
向量 (vector) 就是典型的一維陣列,而更高維的矩陣,例如矩陣 (matrix) 和張量 (tensor) 則分別是二維和三維的陣列。
資料結構 老師:李崇明 助教:楊斯竣.
樣版.
C qsort.
資料結構使用Java 第6章 鏈結串列(Linked List).
MiRanda Java Interface v1.0的使用方法
函數應用(二)與自定函數.
陣列與結構.
資料結構使用Java 第7章 堆疊(Stack).
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
動畫演示 Node規範了一些基本的方法,像是增加節點、刪除節點、讓節點做一些事、取得第n個節點等等
資料結構 – 鏈結串列 Linked List 綠園.
11058: Encoding ★☆☆☆☆ 題組:Problem Set Archive with Online Judge
實習八 函式指標.
程式設計--Quick Sort 通訊一甲 B 楊穎穆.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
非負矩陣分解法介紹 報告者:李建德.
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
SQLite資料庫 靜宜大學資管系 楊子青.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
InputStreamReader Console Scanner
Presentation transcript:

資料結構使用Java 第5章 串列程式實作

課程內容 抽象資料型態ADT 串列(List)的介紹 實作串列 List的資料結構 List的ADT 串列主程式 新增元素到List尾端

抽象資料型態 - ADT的涵義 抽象資料型態 (ADT,abstract data types) 隱藏內部細節 展現平易外觀的目的 利如飲料販賣機的面板 理論上,我們常把ADT定義為將資料規格 (specification) 與實作 (implementation) 分開 的資料型態。

ADT的實例

陣列的基本操作 陣列的作用是提供循序的空間供我們使用 只需用一個唯一的索引值,便能任意指定要放入 或取出哪一個位置內的資料 因此陣列的基本操作也就非常簡單,只有『產 生』、『寫入』、與『讀取』三個動作。 有很多實際應用的概念或事物都適合用陣列來表 示,最常見的是串列、矩陣 (matrix) 與多項式 (polynomial)。

認識串列 將字典裡頭的字彙當成元素,則整本字典就是字 彙所形成的串列。 由身分證字號所形成的戶籍資料庫也可以看成是 一種串列。

串列的資料結構設計 串列的大小會隨著串列的使用而不斷地改變,但 陣列的大小在宣告以後就固定了。

串列的操作與處理方法 串列的操作包括 : 新增元素到串列尾端 (append) 讀取元素 (read) 寫入 (write) 將元素插入到串列中 (insert) 刪除元素 (delete) 傳回串列的元素數目 (listSize) 以及傳回儲存串列的陣列大小 (arraySize)。

串列的程式實作 [串列的ADT] list.java

串列的程式實作 [串列的主程式] testList.java

[串列的產生] [串列的實作程式] myList.java 下面用一維陣列來儲存串列 另外使用一個程式變數listSize來記載串列的長度, 也就是串列元素的數目。 int myArray[ ]; int listSize=0; 透過建構元進行初始化動作

[新增元素到串列尾端 (append)] 把元素新增到串列尾端並不影響其他的串列元素 可以用listSize來決定新增的元素的位置 myArray[listSize] = element

[插入一個串列元素 (insert)] 有時候可能需要將新元素插入到串列的特定位置, 這時就要有個更複雜的插入動作。

[插入一個串列元素 (insert)]

[刪除一個串列元素 (delete)] 刪除一個串列元素,後面的串列元素要往前補 以下的例子把myArray[1]裡頭儲存的數字從串列 中移除,所以後面的數字必須往前補到空出來的 陣列位置上。

[刪除一個串列元素 (delete)]

[讀取(read)] 要從串列讀取資料,必須指定元素的位置。 由於串列元素是按先後順序不間斷地儲存在陣列 中,所以串列元素在串列中的次序剛好就是該元 素儲存在陣列上對應的索引。

[寫入(write)] 提供一個值,並指定接收這個值的串列位置 寫入同樣可以透過函式的呼叫來執行,或者直接 在程式中將一個變數或常數的值直接透過索引存 入到串列的正確位置。

[列出所有串列元素(printList)] 將串列中的元素一一地列印出來,用來列印出目 前串列中的元素。串列元素的數目由listSize來決 定。 for (int i=0; i<listSize; i++) System.out.print(this.myArray[i]+" ");  

串列與鏈結串列 串列的缺點: 改良─鏈結串列(Linked List) 串列的大小受到陣列的限制。 插入或刪除一個元素,其後面所有元素都要修正。 改良─鏈結串列(Linked List) 鏈結串列的大小可以無限制擴增 插入與刪除元素動作小,不會影響其他元素。