用链表实现的好处在于可以简化排序。
没有用list,而是自己写的链表操作,更便于理解。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
struct node{
string name;
int Size,add;
node *next;
};
node *Idle,*Busy;
int MAXsize;
void pre()
{
cout<<"输入内存大小:";
cin>>MAXsize;
Idle=new node();
Idle->Size=MAXsize;
Idle->add=0;
Idle->name="0";
}
void Print(node *head)
{
node *p=head;
cout<<"开始地址 大小 状态"<<endl;
while(p)
{
printf(" %d\t\t%d\t",p->add,p->Size);
cout<<p->name<<endl;
p=p->next;
}
}
void InsertIdle(node *tmp) //把tmp按序插入Idle
{
if(Idle->Size>tmp->Size)
{
tmp->next=Idle;
Idle=tmp;
return;
}
node *pre=Idle,*p=Idle->next;