用c语言编写银行家算法,C语言实现银行家算法

用c语言编写银行家算法,C语言实现银行家算法《C语言实现银行家算法》由会员分享,可在线阅读,更多相关《C语言实现银行家算法(8页珍藏版)》请在人人文库网上搜索。1、C语言实现银行家算法(源码、运行结果)一、源码/*银行家算法10-22*/#include/函数声明voidinit(int*pcount,int*scount,intAllocation1010,intNeed1010,intAvailable10);vo…

大家好,又见面了,我是你们的朋友全栈君。

《C语言实现银行家算法》由会员分享,可在线阅读,更多相关《C语言实现银行家算法(8页珍藏版)》请在人人文库网上搜索。

1、C语言实现银行家算法(源码、运行结果)一、 源码/* 银行家算法 10-22*/#include/函数声明void init(int * pcount,int * scount,int Allocation1010,int Need1010,int Available10);void print(int pcount,int scount,int Allocation1010,int Need1010,int Available10);int requs(int scount,int * Requestnumber,int Request10,int Allocation1010,int Ne。

2、ed1010,int Available10);void print2(int isreque,int number);void yhj(int number,int pcount,int scount,int Allocation1010,int Need1010,int Available10);int main()int conti=1; /0退出int pcount=0,scount=0; /进程数 和 资源数int Allocation1010;int Need1010;int Available10;/分配矩阵Allocation 需求矩阵Need 可利用资源向量Available。

3、 int number=0,Request10=0;/用于记录进程编号 用于记录请求向量while(true)init(&pcount,&scount,Allocation,Need,Available); /调用初始化函数print(pcount,scount,Allocation,Need,Available); /调用打印函数int isreque = requs(scount,&number,Request,Allocation,Need,Available); /调用是否请求函数if(isreque=1)printf(n把资源分配给进程P%d后,资源分配情况如下:n,number);。

4、print(pcount,scount,Allocation,Need,Available); /调用打印函数yhj(number,pcount,scount,Allocation,Need,Available); /调用银行家算法函数elseif(isreque=0)yhj(number,pcount,scount,Allocation,Need,Available); /调用银行家算法函数elseprint2(isreque,number);printf(是否继续?0退出,1继续:);scanf(%d,&conti);printf(n);if(conti = 0)break;printf(。

5、n);return 0;/初始化函数: 提示用户输入 进程数,资源数,Allocation矩阵等void init(int * pcount,int * scount,int Allocation1010,int Need1010,int Available10)int p,s;int i,j;printf(进程数:);scanf(%d,&p);*pcount = p;printf(资源数:);scanf(%d,&s);*scount = s;printf(Allocationn);for(i=0;i=0 & numberNeednumberj)for(j=0;jAvailablej)retu。

6、rn 4;return 2;/判断请求向量是否合理:是否小于可利用资源向量bool isrun2 = true;for(j=0;jAvailablej)return 3;/请求向量合理则分配资源/分配资源给请求的进程for(j=0;jWorkj)iscan = false; /printf(进程P%d不能运行n,i);break;if(iscan = true)Finishi = 1;printf(P%d ,i);/释放该进程前,可利用资源数Workfor(j=0;jscount;j+)printf(%3d,Workj);printf( );/该进程需求变量Needfor(j=0;jscoun。

7、t;j+)printf(%3d,Needij);printf( );/该进程占用资源数Allocationfor(j=0;jscount;j+)printf(%3d,Allocationij);printf( );for(j=0;jscount;j+)/进程运行完成,工作向量资源数增加Workj += Allocationij;printf( );/记录该进程至安全序列/printf(k=%d,i=%dn,k,i);xk = i; k+;/释放该进程后,可利用资源数Work+Allocationfor(j=0;jscount;j+)printf(%3d,Workj);printf(t 1);p。

8、rintf(n);/如果可用资源不能满足任何进程的需要 跳出循环/例如n=1 done1则跳出 done = 0;for(i=0;ipcount;i+)if(Finishi=1)done+;if(donen)printf(系统不安全,P%d等待nn,number);break;else if(done=pcount)printf(系统安全,存在着一个安全序列为:);for(i=0;ipcount;i+)if(i=pcount-1)printf(P%d,xi);elseprintf(P%d,xi);printf(nn);break;n+;二、 运行结果注:安全序列并不一定唯一。该算法只能输出其中一个安全序列。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163199.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • qtreeview和qtreewidget_复杂的事情简单例子

    qtreeview和qtreewidget_复杂的事情简单例子#include<QtGui>classTreeView:publicQTreeView{public:TreeView();voiditerateOverItems();

    2022年8月6日
    3
  • k8s最新版本安装_我的世界1.17版本下载

    k8s最新版本安装_我的世界1.17版本下载三分钟安装k8s-v1.20.8版本1.所有机器关闭防火墙,selinux。systemctlstopfirewalldsystemctldisablefirewalldsetenforce0sed-i’s/=enforcing/=disabled/g’/etc/selinux/config2.关闭swap分区swapoff-a#临时sed-i’/swap/s/^/#/’/etc/fstab#永久3.修改内核参数vi/etc/sysctl.d/k8s.c

    2022年9月28日
    0
  • compound extreme_particular conditions

    compound extreme_particular conditions在看SpringSide代码过程中,发现SS使用了extremecomponents于是,今天看了看extremecomponents的使用,发觉extremecomponents真是个好用西。可以直接接受response的数据。按照test例子自己做的:效果不错哟eXtremeTable是一个可扩展的用于以表格的形式来显示数据的一组JSP标签库.网站:http://www.extreme…

    2022年8月20日
    5
  • pyhcarm激活码破解方法

    pyhcarm激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    126
  • 反射型XSS漏洞

    反射型XSS漏洞实验项目反射型XSS实验综合性实验2020年10月22日一、实验综述1.实验目的及要求(1)什么是XSSXSS,全称跨站脚本,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。(2)XSS分成两类:一类是来自内部的,主要指的是利用程序自身的漏洞,构造跨站语句。另一类则是来自外部的***,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要一个站点,我们自己构造一个有跨站漏洞的网页…

    2022年6月13日
    32
  • java 设置环境变量

    java 设置环境变量安装JDK向导进行相关参数设置。如图:正在安装程序的相关功能,如图:选择安装的路径,可以自定义,也可以默认路径。如图:成功安装之后,进行测试是否真的成功安装,点击【开始】—-【运行】—-输入CMD,在命令提示符里面输入“Java-version”并按回车键,出现下图,即为安装成功。如图:下面开始配置环境变量,右击【我的电脑】

    2022年5月11日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号