java中小学排课表算法_排课表算法及代码实现!写成功啦,与大家一同分享,绝密(其它地方...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
}
int kebiaomatrix[5][3];
int te_worktimematrix[5][3];
for(x0=0;x0<5;x0++)
for(int y0=0;y0<3;y0++)
te_worktimematrix[x0][y0]=0;
for(j=0;j
{
int kelesson=kemu[j].w_num /2;
int stepnum;
switch(kelesson)
{
case(3):
stepnum=2;
break;
case(2):
stepnum=3;
break;
case(1):
stepnum=4;
break;
default:
printf("信息有错,不好意思,你不得不重来,嘎嘎...\n");
exit(-1);
}
if(kemu[j].mainflag ==1)
{
int t0=0;
for(int m0=0;m0
{
int x0,y0;
for(x0=t0;x0<5;x0++)
for(y0=0;y0<2;y0++)
if(te_worktimematrix[x0][y0]==0&&kebiaomatrix[x0][y0]==0)
{
te_worktimematrix[x0][y0]=kebiaomatrix[x0][y0]=1;
t0=x0;
goto B1;
}
B1: int x00;
if(x0==5)
{
for(x00=0;x00<5;x00++)
{
y0=2;
if(te_worktimematrix[x00][y0]==0&&kebiaomatrix[x00][y0]==0)
{
te_worktimematrix[x00][y0]=kebiaomatrix[x00][y0]=1;
t0=x00;
}
}
x0=x00;
}
if(x0==5)
{
printf("课表已满\n");
exit(-1);
}
t0=(t0+stepnum)%5;
maxteacher[kemu[j].km_te ].te_worktime [x0][y0]=1;
kebiaotype *newkebiaonode=(kebiaotype *)malloc(sizeof(kebiaotype));
newkebiaonode->ketime =y0+1;
strcpy(newkebiaonode->kmname ,kemu[j].kemustr );
newkebiaonode->next =NULL;
kebiaotype *ap=NULL,*cp=kebiao[x0];
while(cp!=NULL)
if((y0+1)ketime )
break;
else
{
ap=cp;
cp=cp->next ;
}
if(ap==NULL)
{
newkebiaonode->next =kebiao[x0];
kebiao[x0]=newkebiaonode;
}
else
{
newkebiaonode->next =cp;
ap->next =newkebiaonode;
}
}
}
else
{
int t0=stepnum;
for(int m0=0;m0
int x0,y0;
for(x0=t0;x0<5;x0++)
{
y0=2;
if(te_worktimematrix[x0][y0]==0&&kebiaomatrix[x0][y0]==0)
{
te_worktimematrix[x0][y0]=kebiaomatrix[x0][y0]=1;
t0=x0;
goto C;
}
C: int x00;
if(x0==5)
{
for(x00=0;x00<5;x00++)
for(y0=0;y0<2;y0++)
if(te_worktimematrix[x00][y0]==0&&kebiaomatrix[x00][y0]==0)
{
te_worktimematrix[x00][y0]=kebiaomatrix[x00][y0]=1;
t0=x00;
goto D;
}
D: x0=x00;
}
if(x0==5)
{
printf("课表已满\n");
exit(-1);
}
maxteacher[kemu[j].km_te ].te_worktime [x0][y0]=1;
kebiaotype *newkebiaonode=(kebiaotype *)malloc(sizeof(kebiaotype));
newkebiaonode->ketime =y0+1;
strcpy(newkebiaonode->kmname ,kemu[j].kemustr );
newkebiaonode->next =NULL;
kebiaotype *ap=NULL,*cp=kebiao[x0];
while(cp!=NULL)
if((y0+1)ketime )
break;
else
{
ap=cp;
cp=cp->next ;
}
if(ap==NULL)
{
newkebiaonode->next =kebiao[x0];
kebiao[x0]=newkebiaonode;
}
else
{
newkebiaonode->next =cp;
ap->next =newkebiaonode;
}
}
}
printf("合肥学院%s班课表总览表\n",maxclassnum[i].classname );
for(int j0=0;j0<5;j0++)
{
printf("星期%d",j0+1);
kebiaotype *px0=kebiao[j0];
while(px0!=NULL)
{
if(px0->ketime ==1)
{
printf(" 1-2节 %s",px0->kmname );
px0=px0->next ;
}
else if(px0->ketime ==2)
{
printf(" 2-3节 %s",px0->kmname );
px0=px0->next ;
}
}
printf("\n");
}
printf("\n");
}
}
java中小学排课表算法_排课表算法及代码实现!写成功啦,与大家一同分享,绝密(其它地方...相关推荐
- 【Matlab】智能优化算法_蜻蜓优化算法DA
[Matlab]智能优化算法_蜻蜓优化算法DA 1.背景介绍 2.灵感 3.公式推导 3.1 勘探和开发操作 4.算法流程图 5.文件结构 6.伪代码 7.详细代码及注释 7.1 DA.m 7.2 d ...
- 【Matlab】智能优化算法_蚁狮优化算法ALO
[Matlab]智能优化算法_蚁狮优化算法ALO 1.背景介绍 2.基本思想 3.公式推导 3.1 ALO算法的运算符 3.2 蚂蚁的随机游动 3.3 困在蚂蚁坑里 3.4 修建陷阱 3.5 蚂蚁划向 ...
- 【Matlab】智能优化算法_灰狼优化算法GWO
[Matlab]智能优化算法_灰狼优化算法GWO 1.背景介绍 2.基本思想 2.1 等级制度 2.2 狩猎方式 3.公式推导 3.1 社会等级制度 3.2 包围猎物 3.3 包围猎物 3.4 攻击猎 ...
- python排课问题_排课常见问题
一.教学环节.教学进程安排的几个概念 1.教学环节是指:理论课.实验课(课夹实验和独立设课的实验课):实践教学环节(主要分类为:课程设计.专业或课程实习.专业或课程综合实践或综合实验.课程综合训练.大 ...
- java 最少使用(lru)置换算法_缓存置换算法 - LRU算法
LRU算法 1 原理 对于在内存中并且不被使用的数据块就是LRU,这类数据需要从内存中删除,以腾出空间来存储常用的数据. LRU算法(Least Recently Used,最近最少使用),是内存管理 ...
- python作排产计划表_排产计划表
排产计划表 浙江丹碧华服饰有限公司生产计划排程表 浙江丹碧华服饰有限公司生产辅料到位情况跟进表 注:按生产计划排程表所确定的时间提前进行跟进管理,以保障各个生产工序的流畅. 篇二:生产计划排工表 生 ...
- js 排班插件_排班小程序
更新记录 1.0.5(2020-11-04) 修改源码版发布 1.0.3(2020-11-04) 添加源码版授权 查看更多 云函数类插件通用教程 使用云函数类插件的前提是:使用HBuilderX 2. ...
- java 投票算法_摩尔投票算法 - woshixin的个人空间 - OSCHINA - 中文开源技术交流社区...
摩尔投票算法(Moore majority vote algorithm) 这个在wiki的介绍在https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_m ...
- java 排名算法_排行榜的算法
好久不来博客园了,前几天更新个人状态时,也把"技术博客"四个字改成了"荒废已久的博客". 好久不总结自己的工作和学习了,怎么说也过不去,就来这写一篇浅显的文章, ...
- 快速排序算法_常用排序算法之快速排序
点击上方蓝色 "铁匠学编程" 关注我,让我们一起学习! 前天给大家分享了归并排序,但是它不是原地排序算法,需要消耗额外的内存空间,今天给大家分享的是江湖无人不知无人不晓的" ...
最新文章
- 两难!到底用Apache BeanUtils还是Spring BeanUtils?
- c++学习笔记之数组及vector
- Java数组(1)--数组概述
- 迭代终止准则的三种形式_一种经验模态分解筛选迭代过程终止准则的方法与流程...
- 苹果推送iOS13.3正式版 联通用户有惊喜!
- Android中SQLiteOpenHelper类的onUpgrade方法浅谈
- Qt编写OpenMP程序--双循环
- Springcloud实战(五)微服务网关
- mysql创建jdbc数据库_创建本地数据库mySQL并连接JDBC
- GetCommandLine()和CommandLineToArgvW()
- NLP Prompt范式,两种主要类型:填充文本字符串空白的完形填空(Cloze)prompt,和用于延续字符串前缀的前缀 (Prefix) prompt。
- matlab中欠定方程组超定方程组_大规模线性方程组解法简介
- Permission denied (publickey).../RPC failed; curl 92 HTTP/2 stream 0 was.../pack exceeds maximum all
- 推荐一个博客:香樟小院-大宝系列,博主多年来坚持记录了一只叫大宝的野猫的生活点滴,大宝后来还有了个小宝.......
- php使用addons,think addons教程
- vue mounted遇到的问题
- RuntimeException和Exception区别
- 中国第一代程序员盘点
- Python操作word手册,与打包生成word文件
- 服务器放m.2硬盘,手把手教你安装M.2固态硬盘,让旧电脑焕发新生