C语言数据结构实现银行模拟
作者:杨鑫newlfe 时间:2023-04-16 17:25:49
C语言数据结构实现银行模拟
实现代码:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define MAX_WIN 20
#define MAX_STAY 100
typedef struct customer *link;
struct customer
{
int stay;
link next;
};
link GUY(int stay, link next)
{
link c = malloc(sizeof *c);
c->stay = stay;
c->next = next;
return c;
}
link win[MAX_WIN];
void morning()
{
int i;
for(i = 0; i < MAX_WIN; i++)
{
win[i] = NULL;
}
}
void come(int w, int stay)
{
if(win[w] == NULL)
{
win[w] = GUY(stay, NULL);
win[w]->next = win[w];
}
else
win[w] = win[w]->next = GUY(stay, win[w]->next);
}
void leave(int w)
{
if(win[w]->next == win[w])
{
free(win[w]);
win[w] = NULL;
}
else
{
link t = win[w]->next;
win[w]->next = t->next;
free(t);
}
}
void guys()
{
int i;
link t;
system("clear");
for(i = 0; i < MAX_WIN; i++, puts(" "))
{
printf("WIN%3d:_", i);
if((t = win[i]) == NULL)
continue;
for(; t->next != win[i]; t = t->next)
{
printf("%4d", t->next->stay);
}
}
Sleep(1);
}
void later()
{
int i;
for(guys(), i = 0; i < MAX_WIN; i++)
{
if(win[i] == NULL)
continue;
if(win[i]->next->stay > 0)
(win[i]->next->stay)--;
else
leave(i);
}
}
int main()
{
srand(time(NULL));
for(morning; ;later())
{
come(rand()%MAX_WIN, rand()%MAX_STAY+1);
}
return 0;
}
由于这里是生成的随机数,所以程序会一直在变化。按住ctrl +c 终止程序
来源:http://blog.csdn.net/u012965373/article/details/48420789
标签:C语言,数据结构,银行模拟
0
投稿
猜你喜欢
java实现通过绑定邮箱找回密码功能
2021-12-17 00:16:48
C# log4net 日志输出的实现示例
2023-04-27 06:50:12
java高并发之线程组详解
2023-02-15 21:30:25
HDFS Balancer负载均衡器及语法详解
2023-11-18 18:30:39
Java 发送http请求上传文件功能实例
2021-07-04 22:30:53
C#操作注册表的方法
2022-06-21 19:14:06
android照相、相册获取图片剪裁报错的解决方法
2021-11-21 20:18:14
Java抢红包的红包生成算法
2023-06-23 20:52:04
新手Hadoop安装 环境搭建
2022-12-15 05:34:02
Unity3D实现人物移动示例
2022-08-15 21:51:58
重新启动IDEA时maven项目SSM框架文件变色所有@注解失效
2021-12-08 06:42:23
Java保留两位小数的几种写法总结
2022-04-19 06:53:06
Unity实现汽车前后轮倒车轨迹计算
2022-12-18 17:49:47
一篇文章带你深入了解javaIO基础
2022-10-22 21:43:05
Android 检测键盘显示或隐藏键盘的实现代码
2022-09-08 09:14:05
Android在项目中接入腾讯TBS浏览器WebView的教程与注意的地方
2021-12-18 01:58:28
Java设计模式之原型设计示例详解
2023-08-04 04:53:35
OpenCV实现直线拟合
2023-06-22 15:22:37
解决dubbo错误ip及ip乱入问题的方法
2023-08-06 17:18:02
Android集成百度地图开发流程和注意事项
2022-03-21 01:56:01