📄 adjust.c
字号:
void adjust(BLOCK *h,BLOCK *p)
{
BLOCK *s,*k,*t;
int flag=0,figure=0;
s=h->next;
while(s && p)
{
if(s->endaddress+1==p->startaddress)
{
s->endaddress=p->endaddress;
s->length+=p->length;
for(k=h;k;k=k->next)
if(k->next==p)
break;
k->next=p->next;
free(p);
p=s->next;
flag=1;
if(!p)
break;
}
else
{
s=s->next;
}
}
if(flag)
{
s=p;
p=h;
while(p->next!=s)
p=p->next;
}
k=h;
while(k->next!=p)
{
k=k->next;
}
for(s=h;s;s=s->next)
{
if(s==p||!p||!s->next)
continue;
if(s!=h && s->next==p && s->length>p->length)
{
for(t=h;t;t=t->next)
{
if(t->next==s)
break;
}
s->next=p->next;
p->next=s;
t->next=p;
figure=1;
break;
}
if(s->next->length>p->length)
{
k->next=p->next;
p->next=s->next;
s->next=p;
figure=1;
break;
}
}
if(p&&p->next&&h->next&&!figure&&((!s&&h->next!=p)||(h->next==p&&p->next))&&p->length>=p->next->length)
{
t=h;
while(t->next)
t=t->next;
k->next=p->next;
t->next=p;
p->next=NULL;
}
figure=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -