版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、、題目要求:用Java語言實現單鏈表的基本操作,并實現集合的交、并和差運算。1、輸出兩個集合的交集,即找出兩個集合的相同元素。2、輸出兩個集合的并集,即把兩個集合的全部元素不重復的加起來。3、輸出兩個集合的差集,即從一個集合中找出另一個集合里沒有的元素。三、設計思路:程序1: 單鏈表結點public class Node/單鏈表結點類,T指定結點的元素類型public T data;/數據域,保存數據元素public Node next; /地址域,引用后繼結點public Node(T data, Node next) /構造結點,data指定數據元素,this.data = data;th
2、is.next = next;public Node()this(null, null);程序2:import java.util.ArrayList;public class SinglyListpublic Node head;程序功能定義:next指定后繼結點public int length;/以上為默認構造方法,構造空單鏈表public static ArrayList union=new ArrayList();public SinglyList()this.head = new Node();/以上為構造單鏈表public SinglyList(T element)this();
3、/創(chuàng)建空單鏈表,只有頭結點this.length = element.length;Node rear = this.head; /rear指向單鏈表最后一個結點for (int i = 0; i element.length; i+)/若element=null,跑出空對象異常;element.length=0時,構造空鏈表rear.next = new Node(elementi, null);/創(chuàng)建結點鏈入rear結點之后rear = rear.next;/rear指向性的鏈尾結點public String toString()String str = (;Node p = this.h
4、ead.next;while (p != null)str += p.data.toString();if (p.next != null)str += ,; /不是最后一個結點時,后加分隔符p = p.next;return str + );/空表返回()public String addAll(SinglyList list)Node p = this.head.next;String str = (;while (p != null)Node q = list.head.next;while (q != null)if ( p.data.toString().equals(q.data.
5、toString()/集合的元素值相等if (!str.equals()str += ,;/用逗號間隔str += p.data.toString(); this.union.add(p.data.toString() ;q = q.next;p = p.next;return str + );/以上為求交集過程。public String union(SinglyList list)Node p = this.head.next;String str = (;while (p != null)Node q = list.head.next;int i = 0;while (q != null
6、)if (!p.data.toString().equals(q.data.toString()i+;if (i = list.length)for(int a=0;aunion.size();a+)if( !p.data.toString().equals(union.get(a)&a=union.size()-1)if (!str.equals() str += ,;str += p.data.toString();q = q.next;p = p.next;i = 0;Node w = list.head.next;while (w != null)str += ,;str +=
7、 w.data.toString();w = w.next;return str + );/以上為求并集過程。public String difference(SinglyList list)Node p = this.head.next;String str = (;while (p != null)Node q = list.head.next;int i = 0;while (q != null)if ( !p.data.toString().equals(q.data.toString()i+;if (i = list.length)if (!str.equals() str += ,
8、;str += p.data.toString();q = q.next;p = p.next;i = 0;return str + );/以上為求差集過程。程序3:import java.util.Scanner;public class MainClasspublic static void main(String args)int a, b;Scanner cin = new Scanner(System.in);System.out.print(請輸入集合A的元素(用英文逗號間隔) :);String a_string=cin.nextLine();String suma=a_stri
9、ng.split(,);System.out.print(請輸入集合B的元素(用英文逗號間隔) :);String b_string=cin.nextLine();String sumb=b_string.split(,);SinglyList list1 = new SinglyList(suma);SinglyList list2 = new SinglyList(sumb);System.out.println(集合A和集合B的交集為:+list1.addAll(list2);System.out.println(集合A和集合B的并集為:+list1.union(list2);System.out.println(A與B的差集為:+Iist1.difference(list2);System.out.println(B與A的差集為:+Iist2.difference(listl);四、程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聘用合同協議范本
- 消防設計與咨詢服務合同
- 食品乳品購銷合同
- 混凝土勞務分包合同樣本
- 工程借款合同范本
- 文藝演出互動演出合同
- 品牌加盟合同協議
- 服務協議合同一本通
- 物流采購合同的爭議解決機制
- 建筑清包工勞務分包合同簽訂
- MOOC 警察禮儀-江蘇警官學院 中國大學慕課答案
- 2023-2024學年度九上圓與無刻度直尺作圖專題研究(劉培松)
- 2024年廣東省2024屆高三二模英語試卷(含標準答案)
- 2023年-2024年醫(yī)療器械知識測試題與答案(含A.B卷)
- 2023年度四川公需科目:數字經濟與驅動發(fā)展
- 汽車制造業(yè)的柔性生產與敏捷制造
- 2024年制鞋工專業(yè)知識考試(重點)題庫(含答案)
- 2023年政府采購評審專家入庫考試模擬真題一套(含正確答案)
- 2023-2024學年廣州大附屬中學中考一模物理試題含解析
- 2024美的在線測評題庫答案
- 果品類原料的烹調應用課件
評論
0/150
提交評論