串列(List) 撰寫一串列程式.

Slides:



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

第一單元 建立java 程式.
四資二甲 第三週作業 物件導向程式設計.
陣列 Array chapter 3 德明科技大學資訊科技系.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
Ch07 介面與多重繼承 物件導向程式設計(II).
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程.
Project 2 JMVC code tracing
手持式裝置之隨身照護應用 Android開發環境設定 鐘國家 老師.
Chapter 5 迴圈.
資料結構 Data Structure.
第2章 陣列與結構 (Arrays and Structures)
資料結構 第2章 陣列.
C#.
資料結構 第3章 鏈結串列.
第十一章 結構.
Visual C++ introduction
資料結構設計與C++程式應用 Fundamentals of Data Structures and Their Applications Using C++ 第3章 佇列 資料結構設計與C++程式應用.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
CLASS 5 指標.
(Circular Linked Lists)
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
中国矿大计算机学院杨东平 第5章 接口和包 中国矿大计算机学院杨东平
第七章 檔案處理.
資料結構使用Java 第8章 佇列(Queue).
Java 程式設計 講師:FrankLin.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
C/C++/Java 哪些值不是头等程序对象
Topic Introduction—RMI
第一單元 建立java 程式.
陣列(Array).
資料結構 優點 缺點 1 陣列 (Array) 沒有額外變量 (例head, next,...) 運作/操作較簡單 更新資料時,若要保持順序,需要移動較大量資料 靜態結構Static (宣告時已決定了陣列元素多少,不能在程式執行期間增減元素) 2 隊列Queue (FIFO) 容易更新 加入enqueue:
面向对象 程序设计语言基础 马骏
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第 19 章 XML記憶體執行模式.
陣列
程式設計 博碩文化出版發行.
期末考.
挑戰C++程式語言 ──第8章 進一步談字元與字串
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
樣版.
C qsort.
第二章 Java语法基础.
資料結構使用Java 第6章 鏈結串列(Linked List).
OOP9 類別Class.
函數應用(二)與自定函數.
陣列與結構.
辅导课程十一.
第二章 Java基本语法 讲师:复凡.
進階UI元件:ListView元件以及複選 靜宜大學資管系 楊子青
簡單Java介紹.
反覆迴圈、陣列、副程式 靜宜大學資管系 楊子青
反覆迴圈、陣列、副程式 靜宜大學資管系 楊子青
實習八 函式指標.
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
資料結構使用Java 第5章 串列程式實作.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
SQLite資料庫 靜宜大學資管系 楊子青.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
方法(Method) 函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

串列(List) 撰寫一串列程式

基礎觀念 陣列 串列 繼承 抽象類別abstract class 介面interface

陣列 應用於串列、矩陣、多項式。 陣列的大小於宣告時固定,記憶體空間配置好所決定的大小不改變。 陣列的索引值從0開始。

串列 串列的大小依使用需要可變動其所佔記憶體空間的大小。

陣列實際應用於串列 當串列利用陣列方式完成,如圖說明:

抽象類別(abstract class) 抽象類別的繼承為 is a 關係 將類別extends 抽象的宣告 { ... abstract 傳回型態 方法名稱(參數); } 抽象的宣告 修飾子 class 類別名稱 extends 抽象類別名稱 { 傳回型態 方法名稱(參數){方法的敘述主體;} } 延伸出來實體

介面(interface) 介面的繼承為 like a 關係 將介面實作implement 介面的宣告 修飾子 interface 介面名稱 { 資料型態 變數名稱=初值;//常數 傳回型態 方法名稱(參數);//抽象方法 } 介面的宣告 public或private 修飾子 class 類別名稱 implements 介面名稱 { 傳回型態 方法名稱(參數){方法的敘述主體;} //實作方法 } 實作出來實體

撰寫串列程式碼 使用介面interface 實作implements出實體化 主程式

介面 – 串列的操作1 介面的方法: 新增元素到串列尾端 讀取元素 寫入 元素插入到串列中 void append(int element) int read(int position) 寫入 void write(int position, int value) 元素插入到串列中 void insert(int position, int element)

介面 – 串列的操作1 刪除元素 傳回串列的個數 印出串列的所有元素 int delete(int position) int sizeOfList() 印出串列的所有元素 void printList()

介面程式碼(list.java) public interface list { void append(int element); int read(int position); void write(int position, int value); void insert(int position, int element); int delete(int position); int sizeOfList(); void printList(); }

實作 類別名稱:myList 成員變數: 一維陣列: myArray[] 串列大小:listSize 延伸出來實體 public class myList implements list { int myArray[]; int listSize; ... } 延伸出來實體

實作 – 建構元 建構元設定初始值 public class myList implements list { int myArray[]; int listSize; int listIndex; public myList(int LSize, int arraySize) myArray=new int[arraySize+1];//多選告一個位置作暫存 listSize=arraySize; listIndex= Lsize; }

新增元素到串列尾端 (append) 把元素新增到串列尾端並不影響其他的串列元素 可以用listSize來決定新增的元素的位置 完成操作以後listIndex的值要加上1,因為串列多了一個元素。 myArray[listIndex] = element; listIndex++;

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

插入一個串列元素 (insert)

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

刪除一個串列元素 (delete)

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

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

列出所有串列元素(printList) 將串列中的元素一一地列印出來,用來列印出目前串列中的元素。串列元素的數目由listSize來決定。  

輸入5比學生成績,並計算及平均 59, 98, 6, 7, 76

串列的主程式(testList.java)