在本次实验中，主要实现的功能有：
1.每次调用brk的时候，会分配三倍于申请的内存块，避免了多次的brk申请操作
2.在每次删除内存块的时候，将删除部分的左边相邻和右边相邻的空闲内存块与本内存块合并。避免了删除内存时的碎片化问题。
检测优化方法：orgin为未优化时的程序，alloc为优化过后的程序。test.c为测试程序。虽然可能因为test中分配的内存块大小相近且alloc分配的内存块较大，导致两者对比效果不明显，但是，在alloc里面测试是否合并碎片内存块的时候，优化效果还是十分明显的。

其他的一点事情：
对于优化O(n)的复杂度，我觉得建立多个1B,2B,...4k的内存序列，每个内存块纵向排列，内存序列头用指针相连是一个很好的选择。这样，在分配内存的时候，纵向就可以找到相近的。相同内存块内部搜索就可以避免过多的碎片化。可是这个实现实在是有点复杂，所以没有具体写出来……
另外，我觉得，在分配内存的时候再合并内存碎片而不是删除的时候分配更加合理。allocate程序就是为此而设。可以看到，他的运行时间大幅度减少了。
