求集合(用單鏈表表示)的並、交和差運算:
問題描述:該演算法的設計,要求執行結果如下所示:
(包含三種排序)
集合的運算如下:
原 集 合a: c a e h
原 集 合b: f h b g d a
有序集合a: a c e h
有序集合b: a b d f g h
集合的並c: a b c d e f g h
集合的交c: a h
集合的差c: c e
#include
#include
#include
#define ok 1
typedef
char elemtype;
typedef
int status;
typedef
struct lnode lnode,
*linklist;
status initlist
(linklist &l)
status listinsert_l
(linklist &l,
int i,elemtype e)
status listpritnt_l
(linklist &l)
printf
("\n");
}status listlength
(linklist &l)
return i;
}status listsort_l1
(linklist &l)
else}}
p=q=p_prior=
null;}
status listsort_l2
(linklist &l)
} p=q=
null;}
void
bubblesort
(struct lnode * head)
q = q->next;
p = p->next;
} tail = q;}}
linklist listmerge_l
(linklist &l1,linklist &l2)
else
if(p->data==q->data)
else
}while
(p)while
(q)return l3;
}linklist listintersect_l
(linklist &l1,linklist &l2)
q=q->next;}if
(flag)
p=p->next;
q=l2->next;
flag=0;
}return l;
}linklist listdifferent_l
(linklist &l1,linklist &l2)
q=q->next;}if
(flag)
p=p->next;
q=l2->next;
flag=1;
}return l;
}int
main()
; elemtype b[10]
=;int i;
linklist head1,head2,head3,head4,head5;
initlist
(head1)
;initlist
(head2)
;for
(i=0
; a[i]
; i++
)printf
("原 集 合a:");
listpritnt_l
(head1)
;for
(i=0
; b[i]
; i++
)printf
("原 集 合b:");
listpritnt_l
(head2)
;listsort_l1
(head1)
;listsort_l2
(head2)
;printf
("有序集合a:");
listpritnt_l
(head1)
;printf
("有序集合b:");
listpritnt_l
(head2)
; head3=
listmerge_l
(head1,head2)
;printf
("集合的並c:");
listpritnt_l
(head3)
; head4=
listintersect_l
(head1,head2)
;printf
("集合的交c:");
listpritnt_l
(head4);
head5=
listdifferent_l
(head1,head2)
;printf
("集合的差c:");
listpritnt_l
(head5)
;}
求集合 用單鏈表表示 的並 交和差運算
include include typedef char elemtype typedef struct lnode linknode 宣告單鏈表結點型別 尾插法建立單鏈表 static void create list rear linknode l,elemtype a,int n 指標的引用 ...
資料結構 求單鏈表的表長
本題要求實現乙個函式,求帶頭結點的單鏈表的表長。函式介面定義 int length linklist l 其中linklist結構定義如下 typedef struct lnode lnode,linklist l是帶頭結點的單鏈表的頭指標,函式length返回單鏈表的長度。裁判測試程式樣例 inc...
資料結構和演算法 單鏈表
linkedlistlist new linkedlist list.add fan list.add 宋江 list.add 盧俊義 list.add 林沖 list.add 武松 list.insert 李逵 3 list.print public class linkednode public...