首页 > 代码库 > [数据结构实验]集合交并
[数据结构实验]集合交并
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 struct Set { 6 bool mark[128]; 7 Set() { 8 memset(mark, 0, sizeof(mark)); 9 }10 bool &operator [] (int x) {11 return mark[x];12 }13 void inp() {14 printf("input element: ");15 char str[102];16 cin>> str;17 for(int i = 0; str[i]; i++) {18 if(str[i] == ‘$‘) break;19 mark[str[i]] = 1;20 }21 }22 void outp(char str[]) {23 cout<< str;24 for(char i = 0; i < 128 && i >= 0; i++) {25 if(mark[i]) cout<< i<< " ";26 }27 cout<< endl;28 }29 void intersectionSet(Set A, Set B) {30 for(int i = 0; i < 128; i++) {31 (*this)[i] = A[i] && B[i];32 }33 }34 void unionSet(Set A, Set B) {35 for(int i = 0; i < 128; i++) {36 (*this)[i] = A[i] || B[i];37 }38 }39 };40 int main()41 {42 while(1) {43 Set A, B, C, D;44 A.inp();45 B.inp();46 C.intersectionSet(A, B);47 D.unionSet(A, B);48 A.outp("A: ");49 B.outp("B: ");50 C.outp("A ^ B: ");51 D.outp("A v B: ");52 }53 return 0;54 }
[数据结构实验]集合交并
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。