C++链表报告功能
C++ linked list report function
我创建了一个内存管理器程序,该程序使用链表中的节点来存储节点的作业编号以及节点使用的内存的开始和结束字节。
我很难想出一种方法来使我的report_jobs
功能工作。我希望输出看起来像这样
JOB Memory Usage
1 10 – 50 54 – 75 200 – 240
5 1 – 9 101 – 134
3 180 – 184 185 – 192
由于多个节点可以具有相同的作业,因此我无法弄清楚如何循环遍历它,以便它只会打印一次作业,但遍历所有节点并查看它是否有该作业编号,然后打印开始和结束字节。
这是我弄乱的一些示例代码,我肯定我把事情复杂化了,我只需要以更简单的方式查看它。
void report_jobs(void)
{
ALLOCPTR t = alloclist;
ALLOCPTR m = alloclist;
int numberofnodes = 0;
int job = 0;
while(m!=NULL)
{
jobb++;
while(t!=NULL)
{
if(t->id == job)
{
cout << t->id << t-> start_byte << t-> end_byte << endl;
}
t = t->next;
}
m = m->next
}
可能您想要执行的操作,我们使用以作业 ID 为键的哈希表或索引表,并在您迭代列表时使用开始和结束字节信息填充该条目。
然后,在表上再次传递以生成输出。
for (i in alloclist) {
table[i->id].populate(i->start_byte, i->end_byte);
}
for (j in table) {
std::cout << table[j];
}
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 多态性和功能结合
- 带内存和隔离功能的SQLite
- Android NDK传感器向事件队列报告奇怪的间隔
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 使用std::source_location报告错误的最佳实践
- 类模板的成员功能的定义在单独的TU中完全专业化
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何在C++中获得"静态纯虚拟"功能?
- xmake总是报告:错误:无法获取cxx的程序,为什么
- 两个文件使用彼此的功能-如何解决
- 我应该实现右值推送功能吗?我应该使用std::move吗
- QML按钮点击功能执行顺序
- 当用户超过按钮点击限制时报告
- 在 Linux 中使用 ioctl() 获取隐藏功能报告时,零字节消失
- Clang-Linux:报告CFI错误而不会崩溃.ftrap功能和-O2
- C++链表报告功能
- 神秘功能出现在我的gcov报告中
- 未获得正确的功能报告