2582: 【系统设计】2024E-简易内存池
金币值:
1
时间限制:1.000 s
内存限制:128 M
正确:144
提交:385
正确率:37.40% 命题人:
题目描述
请实现一个简易内存池,根据请求命令完成内存分配和释放。
内存池支持两种操作命令,REQUEST和RELEASE,其格式为:
REQUEST=请求的内存大小
表示请求分配指定大小内存,如果分配成功,返回分配到的内存首地址;如果内存不足,或指定的大小为0,则输出error
RELEASE=释放的内存首地址
表示释放掉之前分配的内存,释放成功无需输出,如果释放不存在的首地址则输出error。
输入格式
首行为整数N,表示操作命令的个数,取值范围 0<N<=100
接下来的
N
行,每行将给出一个操作命令,操作命令和参数之间用"="
分割。
输出格式
见题面输出要求
输入样例 复制
5
REQUEST=10
REQUEST=20
RELEASE=20
RELEASE=10
REQUEST=10
输出样例 复制
0
10
error
10
提示
注意:
1. 内存池总大小为100字节。
2. 内存池地址分配必须是连续内存,并优先从低地址分配。
3. 内存释放后可被再次分配,已释放的内存在空闲时不能被二次释放。
4. 不会释放已申请的内存块的中间地址。
5. 释放操作只是针对首地址所对应的单个内存块进行操作,不会影响其它内存块。