課下作業(補做)
阿新 • • 發佈:2018-05-06
提交 linklist i節點 let 方法 使用 輸出 指針 blog
課下作業(補做)
相關知識點的總結
排序
程序中經常會遇到需要對鏈表按照某種大小關系排序,Collection
類提供的對於排序和查找的類方法如下:
public static sort(List<E> list)
----將list中的元素按升序排列
int binarySearch(List<T> list,T key,CompareTo<T> c)
---使用折半查找法查找list是否含有和參數key相等的元素。
- 有類的源代碼,針對某一成員變量排序,讓類實現
Comparable
接口,調用Collection.sort(List)
- 沒有類的源代碼,或者多種排序,新建一個類,實現
Comparator
Collection.sort(List, Compatator)
單鏈表
數據結構:單鏈表基本操作
涉及到單鏈表的基本操作有如下:
- int initList(linkList *); 初始化一個單鏈表,具有頭指針,頭結點,頭結點->next=NULL;
- int createListHead(linkList *, int n); 頭插法創建一個鏈表,鏈表長度為n;
- int createListTail(linkList *, int n); 尾插法創建一個鏈表,鏈表長度為n;
- int getlength(linkList *); 獲取單鏈表的長度;
- int printList(linkList *); 打印整個鏈表;
- int getElem(linkList ,int i,ElemType ); 獲取鏈表中第i個位置處節點的數據元素;
- int insertList(linkList *, int i, ElemType data); 在鏈表的指定位置(i節點)插入一個節點,i的範圍為1~length(鏈表總長度);
- int insertListTail(linkList *, ElemType data); 給鏈表追加一個節點,在最末尾處增加;
- int deleteList(linkList , int i, ElemType data); 刪除指定位置(i節點)處的節點,i的範圍為1~length(鏈表總長度);
- int clearList(linkList *); 刪除整個鏈表,使頭結點->next=NULL;
課上內容的補做,結果截圖
1. 排序
針對下面的Student類,使用Comparator編程完成以下功能:
1. 在測試類StudentTest中新建學生列表,包括自己和學號前後各兩名學生,共5名學生,給出運行結果(排序前,排序後)
2. 對這5名同學分別用學號和總成績進行增序排序,提交兩個Comparator的代碼
2. 單鏈表
public class MyList {
public static void main(String [] args) {
//選用合適的構造方法,用你學號前後各兩名同學的學號創建四個結點
//把上面四個節點連成一個沒有頭結點的單鏈表
//遍歷單鏈表,打印每個結點的
//把你自己插入到合適的位置(學號升序)
//遍歷單鏈表,打印每個結點的
//從鏈表中刪除自己
//遍歷單鏈表,打印每個結點的
}
}
教材第十五章的編程題目
(1)使用堆棧結構輸出an的若幹項,其中an=2an-1+2an-2,a1=3,a2=8
(2)編寫一個程序,將鏈表中的學生英語成績單存放到一個樹集中,使得按程序自動排序,並輸出排序結果
(3)有10個U盤,有兩個重要的屬性:價格和容量。編寫一個應用程序,使得TreeMap
課下作業(補做)