七.银行家算法程序代码 #include #include #include using namespace std; typedef struct Max1 // 资源的最大需求量 { int m_a; int m_b; int m_c; }Max; typedef struct Allocation1 //已分配的资源数 { int a_a; int a_b ; int a_c; }Allocation; typedef struct Need1 //还需要的资源数 { int n_a;
可利用资源向量Available; 最大需求矩阵Max; 分配矩阵Allocation; 需求矩阵Need; (2) 假定系统中有五个进程{P0,P1,P2,P3,P4}和三类资源{A,B,C},各类资源的数量分别为10、5、7,在T0时刻的资源分配情况如下表: Max A B C Allocation A B C Need A B C Available A B C P0 7 5 3 0 1 0 7 4 3 3 3 2 P1 3 2 2 2 0 0 1 2 2 P2 9 0
使用简单数组实现下面各种排序算法的功能,并进行比较, 排序算法如下: a) 插入排序; b) 希尔排序; c) 冒泡排序; d) 快速排序; e) 简单选择排序; f) 堆排序; g) 归并排序; h) 基数排序(选作); i) 其他; 具体要求如下: a) 测试数据分出三类:正序,逆序,随机数据; b) 对于这三类数据,比较上述排序算法中的关键字的比较次数和移动次数; c) 对于这三类数据,比较上述排序算法的执行时间,精确到微秒; d) 对于2和3的结果进行分析,验证上述各种算法的时间复杂度