- 浏览: 717658 次
- 性别:
- 来自: 嘉兴
文章分类
- 全部博客 (386)
- Struts1.1 (2)
- Database (18)
- Core Java (15)
- Log4j (4)
- SSH (0)
- Dao (1)
- Architecture Design (1)
- References (2)
- Eclipse&MyEclipse (10)
- Hibernate (7)
- Spring (8)
- JavaMail (1)
- Data Structure And Algorithm (48)
- Struts 2 (2)
- SSI (1)
- SSL (2)
- JSTL (1)
- EJB3 (2)
- NET (2)
- XML (2)
- Components (2)
- Ant (3)
- Multi Thread (1)
- Performance Monitoring (1)
- Web Server (17)
- Oracle (1)
- jQuery (8)
- Regular Expression (1)
- Weblogic (1)
- Exception (1)
- Security (2)
- File Manipulation (1)
- JavaScript (12)
- JVM (2)
- HTML&DIV&CSS (4)
- Android (10)
- Beyond GFW (0)
- Business (0)
- SVN (6)
- 虚拟主机 (1)
- Virtual Host (3)
- My mentality (5)
- OS (15)
- ISPMP (3)
- Magento (5)
- Jsoup&HttpClient (7)
- LINUX (9)
- Database Design (0)
- Power Designer (1)
- TaobaoOpenPlatform (2)
- C/C++ (3)
- Maven (11)
- Quartz (1)
- Load Balance (1)
- Zabbix (4)
- Product&Business (1)
- Pay Interface (1)
- Tomcat (2)
- Redis (1)
- 集群 (1)
- Session (1)
- 共享Session (1)
- Jedis (1)
- jenkins (1)
- 持续集成 (1)
- Web前端 (1)
最新评论
-
aqq331325797:
特意注册账号上来说一句。牛逼!
swagger2.2.2 与 spring cloud feign冲突 -
KitGavinx:
跨顶级域名怎么保持sessionid一致?
Tomcat7集群共享Session 基于redis进行统一管理 -
jaychang:
dujianqiao 写道HI ,能否给一个完整的demo 啊 ...
淘宝订单同步方案 - 丢单终结者 -
GGGGeek:
找了一会儿,感觉mybatis应该没有这种操作,直到发现博主的 ...
mybatis collection list string -
dujianqiao:
HI ,能否给一个完整的demo 啊 ?
淘宝订单同步方案 - 丢单终结者
#include<iostream> using namespace std; typedef struct Node{ char data; Node *next; }Node,*LinkList; #define SIZE sizeof(Node) #define FALSE 0 #define TRUE 1 //初始化集合 void InitLinkList(LinkList Head) { char ch;Node *p=Head; Head->next=NULL; Head->data='\0'; cin>>ch; while(ch!='#') { Node *newNode=(Node*)malloc(SIZE); newNode->data=ch; p->next=newNode; p=p->next; cin>>ch; } p->next=NULL; } //检查p1或p2所指向数据结点该不该加入到Head为起始的集合中^-^有点拗口,表达不是很好 int Check(char ch,LinkList Head) { Node *temp=Head->next; int flag=TRUE; while(temp!=NULL) { if(temp->data==ch){//不需要将数据插入 flag=FALSE; return flag; } temp=temp->next; } return flag; } //合并两个集合 LinkList Merge(LinkList Head1,LinkList Head2) { LinkList Head=(Node*)malloc(SIZE); Head->data='\0';Head->next=NULL; Node *p1=Head1->next; Node *p2=Head2->next; Node *p=Head; while(p1!=NULL&&p2!=NULL) { if(p1->data==p2->data) { if(Check(p1->data,Head)==TRUE) { Node *newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } } else { if(Check(p1->data,Head)==TRUE) { Node *newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } if(Check(p2->data,Head)==TRUE) { Node *newNode=(Node*)malloc(SIZE); newNode->data=p2->data; p->next=newNode; p=newNode; p->next=NULL; } } p1=p1->next; p2=p2->next; } while(p1!=NULL) { if(Check(p1->data,Head)==TRUE) { Node *newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } p1=p1->next; } while(p2!=NULL) { if(Check(p2->data,Head)==TRUE) { Node *newNode=(Node*)malloc(SIZE); newNode->data=p2->data; p->next=newNode; p=newNode; p->next=NULL; } p2=p2->next; } return Head; } //集合A中的元素,B中是否存在 int IsExist(char data,LinkList Head) { Node *p=Head->next; int flag=FALSE; while(p!=NULL) { if(p->data==data) return flag=TRUE; p=p->next; } return flag; } int IsExist2(char data,LinkList Head) { Node *p=Head->next; int flag=FALSE; while(p!=NULL) { if(p->data==data) return flag; p=p->next; } return flag=TRUE; } //两个集合的差集 LinkList Deprive(LinkList Head1,LinkList Head2) { LinkList Head=(Node*)malloc(SIZE); Node *p=Head; Node *p1=Head1->next; while(p1!=NULL) { if(IsExist2(p1->data,Head2)==1) { Node *newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } p1=p1->next; } return Head; } //两个集合交集 LinkList Insection(LinkList Head1,LinkList Head2) { Node *p1=Head1->next; //Node *p2=Head2->next; LinkList Head=(Node*)malloc(SIZE); Head->data='\0';Head->next=NULL; Node *p=Head; while(p1!=NULL) { if(IsExist(p1->data,Head2)==1) { Node *newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } p1=p1->next; } return Head; } //打印集合元素 void PrintLinkList(LinkList Head) { Node *p=Head->next; while(p!=NULL) { cout<<p->data; p=p->next; } cout<<"\n"; } int main() { char cmd; do{ cout<<"输入两个集合的元素,输完一个集合的元素,按#结束\n"; LinkList head1=(Node*)malloc(SIZE); LinkList head2=(Node*)malloc(SIZE); InitLinkList(head1);InitLinkList(head2); Node *Head1=Merge(head1,head2); cout<<"两个集合合集为\n"; PrintLinkList(Head1); Node *Head2=Insection(head1,head2); cout<<"两个集合交集为\n"; PrintLinkList(Head2); Node *Head3=Deprive(head1,head2); cout<<"两个集合差集为\n"; PrintLinkList(Head3); cout<<"按y/Y继续,否则结束\n"; cin>>cmd; }while(cmd=='y'||cmd=='Y'); return 0; }
发表评论
-
【排序算法系列】希尔排序
2015-12-05 16:14 805希尔排序的概述: a[0]...a[n-1 ... -
归并排序
2015-06-20 15:28 859public class MergeSort { pub ... -
插入排序
2015-06-20 15:27 458/** * 插入排序1 容易理解 * * ... -
有序线性链表归并
2013-10-05 11:30 1511#include<stdio.h> #incl ... -
Trie树 应用 Phone List
2012-06-15 11:21 1147Phone List 时间限 ... -
Trie树 单词查找树 键树(JAVA版附分析说明)
2012-06-13 10:27 5117来源于英文“retrieval”. ... -
Trie树 单词查找树 键树
2012-06-12 08:59 1117转自:http://zh.wik ... -
数字金额转中文大写金额
2010-11-26 15:09 1400/** * 用来将数字金额转化成中文大写的金额 ... -
汉诺塔递归算法
2010-11-25 08:17 1319import java.util.Scanner; /* ... -
约瑟夫出圈
2010-11-24 20:45 1071#include<iostream> #incl ... -
SmartHashSet只是为了解释HashSet的原理
2010-07-26 11:11 1330写该类的目的只是为了 ... -
二叉树中序遍历非递归算法
2010-06-29 23:17 1691#include<iostream> usi ... -
二叉树的创建
2010-06-29 23:15 1101#include<iostream> usi ... -
哈弗曼树建立与哈弗曼编码
2010-06-29 23:12 1209#include<iostream> #de ... -
二叉排序树转双向链表(要求无任何新增节点)
2010-06-29 23:07 2458题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双 ... -
线索二叉树中插入结点
2010-06-29 23:05 1848#include<iostream> usi ... -
二叉排序树的递归与非递归查找
2010-06-29 22:58 2258#include<iostream> usi ... -
二叉树中序线索化及查找某一结点的前驱,后继结点
2010-06-29 22:54 2643#include<iostream> usi ... -
十字链表定义创建查找
2010-06-29 22:44 1284#include<iostream> #defi ... -
稀疏矩阵转置
2010-06-29 22:39 1600#include<iostream> #defi ...
相关推荐
基于单链表实现集合的并交差运算实验报告.pdf基于单链表实现集合的并交差运算实验报告.pdf
用c语言实现集合并交差,运用单链表数据结构 内含实验报告,详细易懂
基于顺序表实现集合的并交差运算实验报告.docx基于顺序表实现集合的并交差运算实验报告.docx
基于顺序表实现集合的并交差运算实验报告.pdf基于顺序表实现集合的并交差运算实验报告.pdf
数据结构实验-集合的并交差运算实验报告.doc
严蔚敏版数据结构C语言,第一个实验集合并交差,用C-free编写的C++文件
数据结构的实验,用链表实现对集合的相关运算。
Java集合并交差运算[汇编].pdf
编制一个能演示执行集合的并、交、差运算的程序。 (1)设计集合的并、交、差运算函数(集合的元素不能重复) (2)编制测试函数测试集合运算 (3)提示:以有序链表表示集合
用c++语言实现集合的并、交、差、插入、删除运算
采用堆排序法求两个集合的并集,交集和差级
c++特别影印版第十章课后习题9 用数组实现集合哦,涵盖了交集,并集,差集等等
实现集合的并交差,集合合并,删除,判断子集,求补集
运用数据结构中的链表的相关的知识,实现集合的交并差,加深对链表的插入删除清空等操作的理解。
(类)设计并实现一个具有并,交差等功能的集合类 (假设采用顺序存储结构)。编写菜单驱动的C++程序, 利用该类实现集合的并,交差等运算。
严蔚敏编写的数据结构题集上的实验源代码。
这段时间一直在看C++相关的数据结构,感觉STL库的出现确实给C++实现一些基本的数据结构更加的...花了一晚上采用C语言实现了一个简单的集合操作,支持集合的创建,元素的查询,删除,支持集合的交集、差集、并集计算。
C++实现两个集合类型(set)的并和差
集合的并交差运算数据结构课程设计.docx