#include<bits/stdc++.h> using namespace std; /*定义内存的大小为100*/ #define MEMSIZE 100 /*如果小于此值,将不再分割内存*/ #define MINSIZE 2 /*内存分区空间表结构*/ typedef struct _MemoryInfomation { /*起始地址*/ int start; /*大小*/ int Size; /*状态 F:空闲(Free) U:占用(Used) E 结束(End)*/ char status; } MEMINFO; /*内存空间信息表*/ MEMINFO MemList[MEMSIZE]; /*显示内存状态*/ void Display() { int i,used=0;//记录可以使用的总空间量 printf("\n---------------------------------------------------\n"); printf("%5s%15s%15s%15s","Number","start","size","status"); printf("\n---------------------------------------------------\n"); for(i=0; i<MEMSIZE&&MemList[i].status!='e'; i++) { if(MemList[i].status=='u') { used+=MemList[i].Size; } printf("%5d%15d%15d%15s\n",i,MemList[i].start,MemList[i].Size,MemList[i].status=='u'?"USED":"FREE"); } printf("\n----------------------------------------------\n"); printf("Totalsize:%-10d Used:%-10d Free:%-10d\n",MEMSIZE,used,MEMSIZE-used); } /*初始化所有变量*/ void InitMemList() { int i; MEMINFO temp= { 0,0,'e'}; //初始化空间信息表 for(i=0; i<MEMSIZE; i++
c模拟内存分配算法(首次适应算法,最佳适应算法,最坏适应算法)
最新推荐文章于 2024-08-17 20:03:04 发布