+++++\n\n";?DuLNode*p=block_first->next;?cout<<"分区号\t起始地址\t分区大小\t状态\n\n";?while(p)?{ cout<<""<<flag++<<"\t"; cout<<""<<p->data.address<<"\t\t"; cout<<""<<p->data.size<<"KB\t\t"; if(p->data.state==Free)cout<<"空闲\n\n"; elsecout<<"已分配\n\n"; p=p->next;?}?cout<<"++++++++++++++++++++++++++++++++++++++++++++++\n\n";}//主函数voidmain(){?intch;//算法选择标记?cout<<"请输入所使用的内存分配算法:\n";?cout<<"(1)首次适应算法\n(2)最佳适应算法\n(3)最差适应算法\n";?cin>>ch;?while(ch<1||ch>3)?{ cout<<"输入错误,请重新输入所使用的内存分配算法:\n"; cin>>ch;?}?Initblock();//开创空间表?intchoice;//操作选择标记?while(1)?{ show(); cout<<"请输入您的操作:"; cout<<"\n1:分配内存\n2:回收内存\n0:退出\n"; cin>>choice; if(choice==1)alloc(ch);//分配内存 elseif(choice==2)//内存回收{ intflag; cout<<"请输入您要释放的分区号:"; cin>>flag; free(flag); } elseif(choice==0)break;//退出 else//输入操作有误{ cout<<"输入有误,请重试!"<<endl; continue; }?}}