软件实习报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件实习报告 计算机科学与技术专业 软件实习1 课程名: 课程号: 学号: 姓名: 目录 1、集合的并、交和差运算 ........................................ 2 2、病人就医管理 ....................................................... 7 3、校园导游咨询 ..................................................... 12 4、散列表的设计与实现 .......................................... 18 5、排序综合 ............................................................. 22 8、纸牌游戏(*) .................................................... 29 第 1 页 三、内容 1、集合的并、交和差运算 (一)设计题目 【问题描述】编制一个能演示执行集合的并、交和差运算的程序。 【基本要求】 (1) 集合的元素限定为小写字母字符 [‘a’..’z’] 。 (2) 演示程序以用户和计算机的对话方式执行。 【实现提示】以链表表示集合。 【选作内容】 (1) 集合的元素判定和子集判定运算。 (2) 求集合的补集。 (3) 集合的混合运算表达式求值。 (4) 集合的元素类型推广到其他类型 , 甚至任意类型。 (二)需求分析 set() //建立只有头结点的空链表 set(char a[],int m); //建立有m个元素的单链表 set(const sets); int is_notin(char c); //确定位置 void sort(); //排序 void insert(char c); //插入结点 void print(); //遍历 ~set(); //析构函数 (三)概要设计 输入的只能是小写字母 交运算:查找B集合中与A集合中相同的元素,插入到C集合中。 并运算:先将A集合中的元素插入到C集合中,然后查找B集合中与A集合中不相同的元 素,插入到C集合中。 差运算:比较A集合与B集合中的元素,找出在A集合中且不在B集合中的元素,插入到 C集合中。 (四)详细设计 #includeiostream #includestring using namespace std; struct Node{ //定义结点 char data; Node*next; }; class set{ 第 2 页 public: set()//建立只有头结点的空链表 { first=new Node; first-next=NULL; } set(char a[],int m);//建立有m个元素的单链表 set(const sets); int is_notin(char c); void sort();//排序 void insert(char c);//插入结点 void print();//遍历 ~set(); Node*first; }; set::set(char a[],int m) { m=strlen(a); first=new Node; //头插法 first-next=NULL; for(int i=0;im;i++) { Node *p=new Node; p-data=a[i]; p-next=first-next; first-next=p; } } set::~set()//析构函数 { while(first!=NULL) { Node*p=first; first=first-next; delete p; } } void set::sort() { for(Node*p=first-next;p-next!=NULL;p=p-next) for(Node*q=p-next;q!=NULL;q=q-next) if(q-datap-data) { 第 3 页 char t=q-data; q-data=p-data; p-data=t; } } void set::insert(char c) { Node*p=new Node; p-data=c; p-next=first-next; first-next=p; } set::set(const sets) { first=new Node; first-next=NULL;

文档评论(0)

星星点灯 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档