(完整版)2-21實驗報告_第1頁
(完整版)2-21實驗報告_第2頁
(完整版)2-21實驗報告_第3頁
(完整版)2-21實驗報告_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、東莞理工學院計算機學院 2015-2016 第 1 學期算法與數(shù)據(jù)結構實驗報告 姓名:陳映瓊 學號:201441404142 題目:設帶頭結點的單鏈表L1和L2中分別存放著兩個數(shù)據(jù)元素集合,編寫算 法判斷集合 L1 是否是 L2 的子集,即判斷集合 L1 中的數(shù)據(jù)元素是否都是集合 L2 中的數(shù)據(jù)元素。 問題描述:有兩個帶頭結點的單鏈表L1和L2中分別存放著數(shù)據(jù)元素集合,判 斷集合 L1 是否是集合 L2 的子集。 模塊劃分: 第一個模塊,定義單鏈表結點的結構體,第二個模塊,設計一個函 數(shù),創(chuàng)建頭結點,第三個模塊,編寫一個將元素e插入到鏈表L的第i個位置 的函數(shù),第四個模塊,編寫一個輸出帶頭結點

2、單鏈表的數(shù)據(jù)元素的函數(shù),第五 個模塊,首先編寫一個輸出帶頭結點單鏈表的長度的函數(shù),再編寫一個判斷集 合L1中的數(shù)據(jù)元素是否都是集合L2中的數(shù)據(jù)元素,這個函數(shù)需調用輸出長度 的函數(shù),第六個模塊,編寫 main 函數(shù),測試代碼。 源程序: #include #include typedef int Status; typedef int ElemType; #define FALSE 0 #define TRUE 1 typedef struct Node ElemType data;/ 數(shù)據(jù)域 struct Node* next; Node,*LinkList; LinkList InitLis

3、t()/ 創(chuàng)建頭結點 LinkList L; L = (LinkList)malloc(sizeof(Node); if(L=NULL) printf( 申請頭結點失敗 !n); return NULL; L-next = NULL; return L; Status ListInsert(LinkList *L,int i,ElemType e)/ 將元素 e 插入到鏈表 L 的第 i 個位置 int j = 1; LinkList p,s; p = *L;/p 直接等于鏈表 L ,才有頭結點 while (p +j; if(!p | j i) return FALSE; s = (Link

4、List)malloc(sizeof(Node); s-data = e; s-next = p-next;/ 這里 p-next 就是指向位置 i p-next = s; return TRUE; void PrintList(LinkList L) LinkList p; p = L-next; while (p != NULL) printf(%dt,p-data); p = p-next; printf(n); Status Length(LinkList head) LinkList p = head-next; Status i = 0; while(p != NULL) i+;

5、p = p-next; return i; void Judge(LinkList head1,LinkList head2) LinkList p1 = head1-next,p2 = head2-next; if(Length(head1) Length(head2) printf( 集合L1不是集合L2的子集。n); return; while(p1 != NULL) p2 = head2-next; while(1) if(p2 != NULL) if(p2 != NULL) if(p2 = NULL) printf( 集合 L1 不是集合 L2 的子集。 n); return; p1

6、 = p1-next; printf( 集合L1是集合L2的子集。n); int main() LinkList head1,head2; int len,i,num; head1 = InitList(); head2 = InitList(); printf( 請輸入集合 L1 元素的個數(shù)。 n); scanf(%d, printf( 請輸入元素: n); for(i = 1;i = len;i+) scanf( %d, Listl nsert( Prin tList(headl); printf(請輸入集合L2元素的個數(shù)。n); sca nf(%d, prin tf(請輸入元素:n); for(i = 1;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論