模擬記憶體分配 鍊錶實現

2021-07-09 19:52:55 字數 2123 閱讀 6684

我們擁有長度為m位元組的記憶體,輸入的第一行是兩個整數,分別代表對記憶體的操作次數以及m的大小,輸入的第二行是乙個字串,也就程式中

所支援的三種操作:

1.alloc n – 分配n位元組的連續記憶體,並輸出被分配的記憶體塊的id;

2.erase x – 釋放id為x的記憶體塊;

3.defragment – 對記憶體進行碎片整理。

1.第一塊成功分配的記憶體的id為1,第二塊為2,以此類推;

2.執行alloc操作所開盤的記憶體必須是連續

的,如果有多塊符合這一條件的記憶體塊,選擇最靠前的那塊來分配。如果不能分配這個大小的連續空閒記憶體塊,則輸

出「提示資訊」;

3.erase操作釋放完的記憶體可以重新使用,如果要釋

放的記憶體塊在記憶體中沒有找到,則返回「該記憶體塊未找到」的提示資訊,如果分配成功則不輸出任何東西;

4.defragment操作將使所有記憶體盡量向前靠近,不打亂他們原本的順序。

– 分配n位元組的連續記憶體,並輸出被分配的記憶體塊的id;

2.erase x

– 釋放id為x的記憶體塊;

3.defragment

– 對記憶體進行碎片整理。

記憶體分配 1 空閒鍊錶

posted on 六月 29,2007 byarrowpig1979 記憶體分配是所有成功的庫都要費大量心力去做好的事情,除非是對performance很高的需求,至少我現在在工作中很少需要自己來寫記憶體分配策略。我始終覺得一些經典的庫,像stl,loki,boost是最好的教材。讀書也要講究方法...

模擬實現鍊錶

該鍊錶實現的功能 1.指定位置之前插入元素 2.列印鍊錶 3.刪除指定元素 4.刪除所有出現的指定元素 5.查詢指定元素 6.對鍊錶進行氣泡排序 7.頭插 8.頭刪 9.尾插 10.尾刪 11.銷毀鍊錶 下面進行分布詳解 plinknode buynode datatype x 為新增節點開闢空間,...

動態記憶體分配應用舉例(鍊錶)

動態記憶體分配應用舉例 鍊錶 我們知道,陣列式計算機根據事先定義好的陣列型別與長度自動為其分配一連續的儲存單元,相同陣列的位置和距離都是固定的,也就是說,任何乙個陣列元素的位址都可乙個簡單的公式計算出來,因此這種結構可以有效的對陣列元素進行隨機訪問。但若對陣列元素進行插入和刪除操作,則會引起大量資料...