首页 软件工程软件工程平时作业

软件工程软件工程平时作业

举报
开通vip

软件工程软件工程平时作业软件工程随堂作业 杨晶超 s20070416 1、研究生入学及培养过程 (1)与其他系统的关系 (2)业务流程 2、约瑟夫环 //定义循环链表 #include #include #include #include #define OVERFLOW -2 #define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR -1 #define NULL 0 //定义链表结构 typedef ...

软件工程软件工程平时作业
软件 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 随堂作业 杨晶超 s20070416 1、研究生入学及培养过程 (1)与其他系统的关系 (2)业务流程 2、约瑟夫环 //定义循环链表 #include #include #include #include #define OVERFLOW -2 #define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR -1 #define NULL 0 //定义链表结构 typedef struct LNode{ int num; struct LNode *next; }LNode,*LinkList; void main() { //初始化循环链表 LinkList L; L=(LinkList)malloc(sizeof(LNode)); if(L==NULL) { cout<<"循环链表初始化分配内存失败!"<next=L; //利用头节点插入法,构造约瑟夫环 int max; cout<<"请输入约瑟夫环的大小:"<>max; if(max<=0) { cout<<"约瑟夫环的大小输入有误!"<0;i--) { p=(LinkList)malloc(sizeof(LNode)); if(p==NULL) { cout<<"约瑟夫环初始化分配内存失败!"<num=i; p->next=L->next; L->next=p; } } //按规定的输出约瑟夫环中的成员 int n; cout<<"请输入输出规则(即从1数到n,n对应的成员输出):"<>n; int clock; LinkList q; p=L; q=p->next; cout<<"约瑟夫环成员的输出:"<next; continue; } if(clock>=n) clock=clock%n; else if(clock==n-1) { cout<num<<" "; p->next=q->next; free(q); q=p->next; clock++; } else { clock++; p=q; q=q->next; } } free(q); cout< #include #include #define STACK_SIZE 100 #define NULL 0 #define ERROR -1 #define OK 1 typedef int Status; typedef struct BDStack { int *base1,*base2,*top1,*top2; }BDStacktype; //初始化双向栈 Status InitBDStack(BDStacktype &S) { S.base1=(int *)malloc(STACK_SIZE*sizeof(int)); if(S.base1==NULL) { cout<<"双向栈初始分配内存失败"< #include "BDStack.h" void main() { BDStacktype S; InitBDStack(S); int code; cout<<"请选择,操作的类型(0:退出;1:向栈压入数据;2:从栈中输出数据):"; cin>>code; while(1) { switch(code) { case 0: exit(0); case 1: { int i; cout<<"请选择入栈类型:栈1,栈2(输入1或2):"; cin>>i; int x; if(i==1||i==2) { cout<<"请输入压入栈的数据:"; cin>>x; push(S,i,x); } else cout<<"输入选择栈的数据有误,请重新输入!"<>i; if(i==1||i==2) cout<>code; } getchar(); } 4、设将整数以1、2、3、4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下有问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 : (1)若入栈次序为push(1),pop(),push(2),push(3),pop(),pop( ),push(4),pop( ),则出栈的数字序列,为什么? (2)能否得到出栈序列车员423和432?并说明为什么不能得到或如何得到。 (3)请 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 1、2、3、4的24种排列中,哪些序列可以通过相应的入出栈得到。 答:(1)出栈次序为1324,因为堆栈是按照后进先出的规律。 (2)423不能得到,432能得到。 (3)1234,1243,1324,3241,1432,2134,2143,3421,2314,2341,2431,4321。 5、循环队列的优点是什么?如何判断它的空和满? 答:(1)循环队列的优点是每当插入新的队列尾元素时,尾指针增1;每当删除队列头元素时,头指针增1。因此,在非空队列中,头指针始终指向队列头元素,而尾指针始终指向队列尾元素的下一个位置。 (2)两种处理 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 :其一是另设一标志位以区别队列是空还是满;其二是少用一个元素空间,约定以“队列头指针在队列尾指针的下一位置上”作为队列呈“满”状态的标志。 6、二叉树的创建、深度的求取、递归遍历(先、中、后)、非递归(先、中)。 //主函数 #include #include "BiTree.h" void main() { BiTree T; if(CreatBiTree(T)) cout<<"二叉树创建成功!"; cout<<"\n二叉树的深度:"; cout< #include #include #include Status CreatBiTree(BiTree &T)//创建二叉树 { int a; cout<<"请输入一个整数,0 表示该结点为空:"; cin>>a; if(a==0) T=NULL; else if(!(T=(BiTNode *)malloc(sizeof(BiTNode)))) exit(OVERFLOW); else { T->data=a; CreatBiTree(T->lchild); CreatBiTree(T->rchild); } return OK; } Status PreOderTraverse(BiTree T)//先序遍历(递归) { if(T) { cout<<" "<data; if(PreOderTraverse(T->lchild)) if(PreOderTraverse(T->rchild)) return OK; return ERROR; } else return OK; } Status InOderTraverse(BiTree T)//中序遍历 { if(T) { if(InOderTraverse(T->lchild)) cout<<" "<data; if(InOderTraverse(T->rchild)) return OK; return ERROR; } else return OK; } Status LastOderTraverse(BiTree T)//后序遍历 { if(T) { if(LastOderTraverse(T->lchild)) if(LastOderTraverse(T->rchild)) { cout<<" "<data; return OK; } return ERROR; } else return OK; } Status Deep(BiTree t)//深度算法 { int ld=0,rd=0; if(!t) return 0; else { ld=Deep(t->lchild); rd=Deep(t->rchild); if(lddata; Push(S,T->rchild); T=T->lchild; } else Pop(S,T); } return OK; } Status InOderTraverse1(BiTree T)//非递归中序 { SElemType p; SqStack S; InitStack(S); Push(S,T); while(!StackEmpty(S)) { while(GetTop(S,p)&&p) Push(S,p->lchild); Pop(S,p); if(!StackEmpty(S)) { Pop(S,p); cout<<" "<data; Push(S,p->rchild); } } return OK; } //Stack.h #include #include #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #define OVERFLOW -2 #define ERROR 0 #define OK 1 #define FALSE 0 #define TRUE 1 typedef int Status; typedef struct { SElemType *base,*top; int stacksize; }SqStack; Status InitStack(SqStack &S)//构造一个空栈 { S.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType)); if(!S.base) exit(OVERFLOW); S.top=S.base; S.stacksize=STACK_INIT_SIZE; return OK; } Status GetTop(SqStack &S,SElemType &e)//若栈不为空,e返回栈顶元素 { if(S.base==S.top) return ERROR; e=*(S.top-1); return OK; } Status StackEmpty(SqStack &S)//判断栈空 { if(S.base==S.top) return TRUE; else return FALSE; } Status Push(SqStack &S,SElemType e)//压栈 { if(S.top-S.base>=S.stacksize) { S.base=(SElemType *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType)); if(!S.base) exit(OVERFLOW); S.top=S.base+S.stacksize; S.stacksize+=STACKINCREMENT; } *S.top++=e; return OK; } Status Pop(SqStack &S,SElemType &e)//出栈 { if(S.top==S.base) return ERROR; e=*--S.top; return OK; } 就业 办公室 招生 办公室 教师系统 本系统 课程 管理 系统 顶层图 考试中心 科研科 各院 授课教师 用户 学生 研究生院 学籍管理系统 2 毕业管理系统 3 学籍管理系统 4 成绩管理系统 1学生 档案 肢体残疾康复训练教师个人成长档案教师师德档案表人事档案装订标准员工三级安全教育档案 系统 1.3学生信息查询 1.2 登记学生 1.1 名单合格检查 2.2 统计奖惩情况 2.3 毕业分类 2.1统计 不及格 科目数 3.2 申请表 检查 3.3 修复学 处理 3.1 登记 奖惩 4.4成绩查询 4.3成绩登记入库 4.2审定等级 4.1合法检查
本文档为【软件工程软件工程平时作业】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_693576
暂无简介~
格式:doc
大小:96KB
软件:Word
页数:13
分类:
上传时间:2018-09-06
浏览量:28