20172311《程序設計與數據結構》第二週學習總結
教材學習內容總結
第三章 集合概述 ——棧
- 集合是一種彙集、組織了其餘對象的對象,它定義了一種特定的方式,能夠訪問、管理所包含的對象(稱爲該集合的元素)
- 集合能夠分爲兩大類:線性集合和非線性集合
- 元素彼此之間的組織形式一般由元素添加到集合的次序、元素自身之間的一些內在關係決定
- 集合是一種隱藏了實現細節的抽象
- 對象是用於建立集合的一種完美機制
- 數據類型是一組值及做用於這些數值上的各類操做
- 集合是一種抽象數據類型
- 數據結構是一種用於實現集合的基本編成結構
- 棧的元素是按後進先出的方法進行處理的,最後進入棧中的元素最早被移出
- 多態引用是一個引用變量,它能夠在不一樣地點引用不一樣類型的對象
- 一個Object引用可用於引用任意對象,由於全部類最終都是從Object類派生而來的
- 使用多態引用的數組實現棧行不通
- 泛型不能被實例化,它只是一個佔位符,容許咱們去定義管理特定類型的對象的類,且只有當該類被實例化時,才建立該類的對象
- 異常就是一個對象,它定義了一種非正常或錯誤的狀況。錯誤與異常相似,只不過錯誤每每表示一種沒法恢復的狀況,且沒必要去捕獲它
錯誤和異常表示不正常或不合法的處理html
第四章 鏈式結構——棧
- 鏈式結構是一種數據結構,他使用對象引用變量來建立對象之間的連接
- 引用變量有時又稱爲指針
- 須要一個單獨的引用變量來表示鏈表的首結點
- 鏈表由一些對象構成,其中每一個對象指向了鏈表中的下一個對象
- 在處理鏈表的首結點時需特別當心,以正確維護指向整個鏈表的引用
- 訪問鏈表的惟一方式是從第一個元素開始,順着該鏈表往下進行
棧的鏈表實現是從鏈表的一端添加和刪除元素git
教材學習中的問題和解決過程
- 問題1:泛型不能被實例化什麼意思?如何使用泛型建立一個能夠儲存全部類型數據的數組?
- 問題1解決方案:
泛型不能被實例化的意思可理解爲:
試圖建立一個泛型數組是錯誤的,錯誤代碼以下:算法
Stack stack =new T(initialCapaciry);
使用泛型建立一個能夠儲存全部類型數據的數組:數組
首先實例化一個Object數組,而後把它轉換爲一個泛型數組,代碼以下:數據結構
Stack stack =(T[])(new Object[initialCapaciry]);
代碼調試中的問題和解決過程
- 問題1:運行PP3_2時出現錯誤,代碼及運行截圖以下:
- 問題1解決方案:
經與同窗討論得知Stack類判斷棧是否爲空的方法是.empty()
,改正後代碼及運行截圖以下:
上週考試錯題總結
結對及互評
- 本週結對學習狀況
對課本上的諸多疑問點進行了討論,同時對代碼實現過程當中遇到的一些問題也經過討論獲得瞭解決
感想
還需繼續努力!.net
學習進度條
目標 |
5000行 |
30篇 |
400小時 |
|
第一週 |
0/0 |
1/1 |
4/4 |
|
第一週 |
464/464 |
1/2 |
10/14 |
理解掌握了用數組和鏈表實現棧的方法 |
計劃學習時間:15小時設計
實際學習時間:10小時3d
改進狀況:提升動手能力,在實現代碼中逐漸提升!
參考資料