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 终止程序

C语言数据结构实现银行模拟

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
  • asp之家 软件编程 m.aspxhome.com