软件
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
随堂作业
杨晶超 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合法检查