20165210 單鏈表課下補做
阿新 • • 發佈:2018-05-06
http 返回 對象引用 實驗代碼 pareto his java iter class
20165210 單鏈表
要求:
數據結構-單鏈表
參見附件,補充MyList.java的內容,提交運行結果截圖(全屏)
課下推送代碼到碼雲
public class MyList {
public static void main(String [] args) {
//選用合適的構造方法,用你學號前後各兩名同學的學號創建四個結點
//把上面四個節點連成一個沒有頭結點的單鏈表
//遍歷單鏈表,打印每個結點的
//把你自己插入到合適的位置(學號升序)
//遍歷單鏈表,打印每個結點的
//從鏈表中刪除自己
//遍歷單鏈表,打印每個結點的
}
}
public class Node
public Node(T data, Node<T> next) //構造結點,data指定數據元素,next指定後繼結點 { this.data = data; //T對象引用賦值 this.next = next; //Node<T>對象引用賦值 } public Node() { this(null, null); } public String toString() //返回結點數據域的描述字符串 { return this.data.toString(); }
}
實驗代碼:
import java.util.*; class Stu implements Comparable{ int id; String name; Stu(String n, int i){ name=n; id=i; } public int compareTo(Object b){ Stu st=(Stu)b; return (this.id-st.id); } } public class MyList { public static void main(String [] args) { //選用合適的構造方法,用你學號前後各兩名同學的學號創建四個結點 LinkedList<Stu> list=new LinkedList<>(); list.add(new Stu("孔月",5208)); list.add(new Stu("陳思兵",5209)); list.add(new Stu("丁奕",5211)); list.add(new Stu("任胤",5212)); //把上面四個節點連成一個沒有頭結點的單鏈表 Iterator<Stu> iter=list.iterator(); //遍歷單鏈表,打印每個結點的 System.out.println("初始單鏈表為:"); while (iter.hasNext()){ Stu st=iter.next(); System.out.println(st.id+" "+st.name); } //把你自己插入到合適的位置(學號升序) list.add(new Stu("劉雨坤",5210)); Collections.sort(list); //遍歷單鏈表,打印每個結點的 iter=list.iterator(); System.out.println("插入自己的學號和姓名以後,單鏈表為:"); while (iter.hasNext()){ Stu st=iter.next(); System.out.println(st.id+" "+st.name); } //從鏈表中刪除自己 list.remove(2); iter=list.iterator(); //遍歷單鏈表,打印每個結點的 System.out.println("刪除自己的學號和姓名以後,單鏈表為:"); while (iter.hasNext()){ Stu st=iter.next(); System.out.println(st.id+" "+st.name); } } }
代碼鏈接:
https://gitee.com/BESTI-IS-JAVA-2018/20165210lyk/blob/master/kexiaxiti/Mylist.java
20165210 單鏈表課下補做