日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

20165320 第十周课上测试补做

發(fā)布時間:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20165320 第十周课上测试补做 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

相關(guān)知識點總結(jié):

1.LinkedList泛型類創(chuàng)建一個鏈表對象

LinkedList<String> mylist = new LinkedList<String>();

2.向鏈表中依次添加結(jié)點

mylist.add();

3.鏈表的遍歷

LinkedList類中的get(int index)方法將返回當(dāng)前鏈表中第index個結(jié)點中的對象鏈表對象可以使用iterator()方法獲取一個Iterator對象,該對象是針對當(dāng)前鏈表的迭代器。

4.排序與查找

public static sort(List<E>list)該方法可將list中的元素按升序排列int binarySearch(List<T>list,T key,CompareTo<T> c)使用折半查找list是否含有和參數(shù)key相等的元素還可以通過Comparable接口規(guī)定對象的大小比較
  • 鏈表相關(guān)的概念

    單鏈表:每個結(jié)點含有一個數(shù)據(jù)和下一個結(jié)點的引用

    雙鏈表:每個結(jié)點含有一個數(shù)據(jù)和下一個結(jié)點的引用以及上一個結(jié)點的引用

    Collections類可以通過調(diào)用sort方法來進行排序

  • 課上內(nèi)容補做截圖:
    一、

    • 在數(shù)據(jù)結(jié)構(gòu)和算法中,排序是很重要的操作,要讓一個類可以進行排序,有兩種方法:
    • 有類的源代碼,針對某一成員變量排序,讓類實現(xiàn)Comparable接口,調(diào)用Collection.sort(List)
    • 沒有類的源代碼,或者多種排序,新建一個類,實現(xiàn)Comparator接口 調(diào)用Collection.sort(List, Compatator)

    運行截圖:

    二、補充MyList.java的內(nèi)容,提交運行結(jié)果截圖(全屏)

    錯因:一開始實用鏈表的Linked相關(guān)方法進行操作,之后才發(fā)現(xiàn)需要運用Node進行結(jié)點的相關(guān)操作

    運行截圖:

    書上代碼分析:

    15.1:聲明一個泛型類Cone,計算體積的時候只關(guān)心它的底能否計算面積,和底的具體形狀沒有關(guān)系,所以求體積時用泛型做底,而且泛型變量只能調(diào)用從object類繼承或重寫的方法,例子中的底面積需要用tostring()方法。

    15.2:該例子是為了比較get(int index)方法與iterator()方法遍歷鏈表所需要的時間。因為LinkedList的存儲結(jié)構(gòu)不是順序結(jié)構(gòu),所以鏈表調(diào)用get(int index)方法所要的時間長,所以需要用迭代器。

    15.3:這個例子是使用老版本JDK的LinkedList,創(chuàng)建一個新鏈表,添加元素進行遍歷,一個是使用get index,一個是使用迭代器。

    15.4:例子4是通過Comparable接口規(guī)定的大小關(guān)系來進行對鏈表的排序,最后再用Collections類調(diào)用sort方法排序。該程序中在 compareTo方法里返回的是height的大小比較,所以鏈表中的對象是按照height的大小來決定對象之間的大小關(guān)系。

    15.5:該例子就是使用了Collections類中的洗牌算法還有旋轉(zhuǎn)算法對鏈表進行洗牌還有旋轉(zhuǎn),再分別將它們遍歷輸出看變化。

    15.6:該例子是使用堆棧輸出一個遞歸序列,算法是后一項等于前兩項的和,也就是Fibonacci數(shù)列。 重要的操作就是

    壓棧和彈棧: push 壓棧pop 彈棧

    15.7:該例子是一個英語單詞查詢的GUI程序,用戶在界面的一個文本框中輸入一個英文單詞,另一個文本框顯示單詞的翻譯

    15.8:該例子首先是創(chuàng)建了一個樹集,在樹集里面增添了四個元素,而樹集和鏈表不一樣,添加的時候它就按照對象的大小進行添加的。

    90 趙一66 錢二86 孫三76 李四

    15.9:該例子是使用TreeMap分別按學(xué)生的英語成績和數(shù)學(xué)成績排序結(jié)點,不僅存儲了數(shù)據(jù),還存儲了與其相關(guān)聯(lián)的關(guān)鍵字(即數(shù)學(xué)和英語)。

    15.10:該例子實現(xiàn)了自動裝箱與自動拆箱的功能。

    程序允許把一個基本數(shù)據(jù)類型添加到類似鏈表等數(shù)據(jù)結(jié)構(gòu)中,系統(tǒng)會自動完成基本類型到相應(yīng)對象的轉(zhuǎn)換,獲取時系統(tǒng)自動完成對象到基本類型的轉(zhuǎn)換。

    書上編程題目:

    1.使用堆棧結(jié)構(gòu)輸出an的若干項,其中an=2an-2,a1=3,a2=8。

    解法:按照15.7的例題修改棧一開始的兩個元素,再修改temp的計算方法就行

    2.編寫一個程序,將鏈表中的學(xué)生英語成績單存放到一個樹集中,使得按成績自動排序,并輸出排序結(jié)果。

    解法:按照15.8的例題,用兩個迭代器,一個鏈表的,一個是樹集的,分別將鏈表中的Student對象添加到樹集中,再通過樹集的迭代器挨個打印出來

    3.有10個U盤,有兩個重要屬性:價格和容量。編寫一個應(yīng)用程序,使用TreeMap<K,V>類,分別按照價格和容量排序輸出10個U盤的詳細信息。

    解法:按照15.9的例題,將英語和數(shù)學(xué)修改成U盤的容量和價格就行了

    轉(zhuǎn)載于:https://www.cnblogs.com/Gst-Paul/p/9000102.html

    總結(jié)

    以上是生活随笔為你收集整理的20165320 第十周课上测试补做的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。