1 |
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define FREE <span class="hljs-number">0</span> #define BUSY <span class="hljs-number">1</span> #define Max_length <span class="hljs-number">640</span> typedef struct freearea { int ID; int size; int address; bool isUsed; } freearea; typedef struct DuNode { freearea <span class="hljs-keyword">data</span>; struct DuNode *prior; struct DuNode *next; } DuNode, *DuLinkList; DuLinkList m_rid; DuLinkList m_last; void init() { m_rid = (DuLinkList)malloc(sizeof(DuNode)); m_last = (DuLinkList)malloc(sizeof(DuNode)); <span class="hljs-function"><span class="hljs-title">m_rid</span>-></span>prior = NULL; <span class="hljs-function"><span class="hljs-title">m_rid</span>-></span>next = m_last; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span>prior = m_rid; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span>next = NULL; <span class="hljs-function"><span class="hljs-title">m_rid</span>-></span><span class="hljs-keyword">data</span>.size = <span class="hljs-number">0</span>; <span class="hljs-function"><span class="hljs-title">m_rid</span>-></span><span class="hljs-keyword">data</span>.isUsed = BUSY; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span><span class="hljs-keyword">data</span>.address = <span class="hljs-number">0</span>; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span><span class="hljs-keyword">data</span>.size = Max_length; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span><span class="hljs-keyword">data</span>.ID = <span class="hljs-number">0</span>; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span><span class="hljs-keyword">data</span>.isUsed = <span class="hljs-number">0</span>; } int first_fit(int ID,int size) { DuLinkList temp = (DuLinkList)malloc(sizeof(DuNode)); D<span class="hljs-function"><span class="hljs-title">uNode</span> *p = m_rid-></span>next; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-keyword">data</span>.ID=ID; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-keyword">data</span>.size=size; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-keyword">data</span>.isUsed=BUSY; <span class="hljs-keyword">while</span>(p) { <span class="hljs-function"><span class="hljs-title">if</span>(p-></span><span class="hljs-keyword">data</span>.ID == ID) { printf(<span class="hljs-string">"该作业号对应的作业已经在内存中!"</span>); return <span class="hljs-number">0</span>; } <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed==FREE && p-></span><span class="hljs-keyword">data</span>.size==size) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.isUsed=BUSY; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.ID=ID; return <span class="hljs-number">1</span>; } <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed==FREE && p-></span><span class="hljs-keyword">data</span>.size>size) { <span class="hljs-function"><span class="hljs-title">temp</span>-></span>next=p; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>=p-></span>prior; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.address=p-></span><span class="hljs-keyword">data</span>.address; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span>next=temp; <span class="hljs-function"><span class="hljs-title">p</span>-></span>prior=temp; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.address=temp-></span><span class="hljs-function"><span class="hljs-title">data</span>.address+temp-></span><span class="hljs-keyword">data</span>.size; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.size-=size; return <span class="hljs-number">1</span>; } <span class="hljs-function"><span class="hljs-title">p</span>=p-></span>next; } return <span class="hljs-number">0</span>; } void alloc() { int ID,size1; printf(<span class="hljs-string">"请输入作业号:"</span>); scanf(<span class="hljs-string">"%d"</span>, &ID); printf(<span class="hljs-string">"请输入所需内存大小:"</span>); scanf(<span class="hljs-string">"%d"</span>, &size1); <span class="hljs-keyword">if</span> (ID<=<span class="hljs-number">0</span> || size1<=<span class="hljs-number">0</span>) printf(<span class="hljs-string">"错误!请输入正确的作业号和请求的内存大小"</span>); <span class="hljs-keyword">if</span>(first_fit(ID,size1)) printf(<span class="hljs-string">"分配内存成功!\n"</span>); <span class="hljs-keyword">else</span> printf(<span class="hljs-string">"分配内存失败!\n"</span>); } void freeNode() { int ID; D<span class="hljs-function"><span class="hljs-title">uNode</span> *p = m_rid-></span>next; printf(<span class="hljs-string">"输入需要释放内存的作业号:"</span>); scanf(<span class="hljs-string">"%d"</span>, &ID); <span class="hljs-keyword">while</span> (p) { <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-keyword">data</span>.ID == ID) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.ID = <span class="hljs-number">0</span>; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.isUsed = FREE; <span class="hljs-function"><span class="hljs-title">if</span> (!p-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed && p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-keyword">data</span>.isUsed) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.size += p-></span><span class="hljs-keyword">data</span>.size; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span>next; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span> = p-></span>prior; } <span class="hljs-function"><span class="hljs-title">if</span> (!p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed && p-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-keyword">data</span>.isUsed) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.size += p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-keyword">data</span>.size; <span class="hljs-function"><span class="hljs-title">if</span>(p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>prior=p; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next; } <span class="hljs-keyword">else</span> <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next; } <span class="hljs-function"><span class="hljs-title">if</span>(!p-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed && !p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-keyword">data</span>.isUsed) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.size += p-></span><span class="hljs-function"><span class="hljs-title">data</span>.size + p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-keyword">data</span>.size; <span class="hljs-function"><span class="hljs-title">if</span>(p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span> = p-></span>prior; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next; } <span class="hljs-keyword">else</span> <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next; } printf(<span class="hljs-string">"释放内存成功!\n"</span>); break; } <span class="hljs-function"><span class="hljs-title">p</span> = p-></span>next; <span class="hljs-keyword">if</span>(!p) printf(<span class="hljs-string">"内存中没有该需要释放内存的作业!"</span>); } } void show() { printf(<span class="hljs-string">"------------------"</span>); printf(<span class="hljs-string">"内存分配情况"</span>); printf(<span class="hljs-string">"------------------\n"</span>); D<span class="hljs-function"><span class="hljs-title">uNode</span> *p = m_rid-></span>next; <span class="hljs-keyword">while</span>(p) { printf(<span class="hljs-string">"分区号:"</span>); <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-keyword">data</span>.ID==FREE) printf(<span class="hljs-string">"FREE\n"</span>); <span class="hljs-keyword">else</span> <span class="hljs-function"><span class="hljs-title">printf</span>("%d \n", p-></span><span class="hljs-keyword">data</span>.ID); <span class="hljs-function"><span class="hljs-title">printf</span>("起始地址:%d\n", p-></span><span class="hljs-keyword">data</span>.address); <span class="hljs-function"><span class="hljs-title">printf</span>("内存大小:%d\n", p-></span><span class="hljs-keyword">data</span>.size); printf(<span class="hljs-string">"分区状态:"</span>); <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-keyword">data</span>.isUsed==FREE) printf(<span class="hljs-string">"空闲\n"</span>); <span class="hljs-keyword">else</span> printf(<span class="hljs-string">"已分配\n"</span>); printf(<span class="hljs-string">"------------------\n"</span>); <span class="hljs-function"><span class="hljs-title">p</span>=p-></span>next; } } int main() { printf(<span class="hljs-string">"------------------"</span>); printf(<span class="hljs-string">"首次适应算法"</span>); printf(<span class="hljs-string">"------------------\n"</span>); init(); int tag = <span class="hljs-number">1</span>; <span class="hljs-keyword">while</span>(tag < <span class="hljs-number">3</span> && tag > <span class="hljs-number">0</span>) { printf(<span class="hljs-string">"输入要进行的操作"</span>); printf(<span class="hljs-string">"(1-分配内存,2-内存释放,其他-退出程序):"</span>); scanf(<span class="hljs-string">"%d"</span>, &tag); switch(tag) { case <span class="hljs-number">1</span>: alloc(); show(); break; case <span class="hljs-number">2</span>: freeNode(); show(); break; default: printf(<span class="hljs-string">"程序已退出!"</span>); } } } |
头歌平台 操作系统 首次适应算法
1 |
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define FREE <span class="hljs-number">0</span> #define BUSY <span class="hljs-number">1</span> #define Max_length <span class="hljs-number">640</span> typedef struct freearea { int ID; int size; int address; bool isUsed; } freearea; typedef struct DuNode { freearea <span class="hljs-keyword">data</span>; struct DuNode *prior; struct DuNode *next; } DuNode, *DuLinkList; DuLinkList m_rid; DuLinkList m_last; void init() { m_rid = (DuLinkList)malloc(sizeof(DuNode)); m_last = (DuLinkList)malloc(sizeof(DuNode)); <span class="hljs-function"><span class="hljs-title">m_rid</span>-></span>prior = NULL; <span class="hljs-function"><span class="hljs-title">m_rid</span>-></span>next = m_last; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span>prior = m_rid; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span>next = NULL; <span class="hljs-function"><span class="hljs-title">m_rid</span>-></span><span class="hljs-keyword">data</span>.size = <span class="hljs-number">0</span>; <span class="hljs-function"><span class="hljs-title">m_rid</span>-></span><span class="hljs-keyword">data</span>.isUsed = BUSY; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span><span class="hljs-keyword">data</span>.address = <span class="hljs-number">0</span>; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span><span class="hljs-keyword">data</span>.size = Max_length; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span><span class="hljs-keyword">data</span>.ID = <span class="hljs-number">0</span>; <span class="hljs-function"><span class="hljs-title">m_last</span>-></span><span class="hljs-keyword">data</span>.isUsed = <span class="hljs-number">0</span>; } int first_fit(int ID,int size) { DuLinkList temp = (DuLinkList)malloc(sizeof(DuNode)); D<span class="hljs-function"><span class="hljs-title">uNode</span> *p = m_rid-></span>next; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-keyword">data</span>.ID=ID; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-keyword">data</span>.size=size; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-keyword">data</span>.isUsed=BUSY; <span class="hljs-keyword">while</span>(p) { <span class="hljs-function"><span class="hljs-title">if</span>(p-></span><span class="hljs-keyword">data</span>.ID == ID) { printf(<span class="hljs-string">"该作业号对应的作业已经在内存中!"</span>); return <span class="hljs-number">0</span>; } <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed==FREE && p-></span><span class="hljs-keyword">data</span>.size==size) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.isUsed=BUSY; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.ID=ID; return <span class="hljs-number">1</span>; } <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed==FREE && p-></span><span class="hljs-keyword">data</span>.size>size) { <span class="hljs-function"><span class="hljs-title">temp</span>-></span>next=p; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>=p-></span>prior; <span class="hljs-function"><span class="hljs-title">temp</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.address=p-></span><span class="hljs-keyword">data</span>.address; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span>next=temp; <span class="hljs-function"><span class="hljs-title">p</span>-></span>prior=temp; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.address=temp-></span><span class="hljs-function"><span class="hljs-title">data</span>.address+temp-></span><span class="hljs-keyword">data</span>.size; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.size-=size; return <span class="hljs-number">1</span>; } <span class="hljs-function"><span class="hljs-title">p</span>=p-></span>next; } return <span class="hljs-number">0</span>; } void alloc() { int ID,size1; printf(<span class="hljs-string">"请输入作业号:"</span>); scanf(<span class="hljs-string">"%d"</span>, &ID); printf(<span class="hljs-string">"请输入所需内存大小:"</span>); scanf(<span class="hljs-string">"%d"</span>, &size1); <span class="hljs-keyword">if</span> (ID<=<span class="hljs-number">0</span> || size1<=<span class="hljs-number">0</span>) printf(<span class="hljs-string">"错误!请输入正确的作业号和请求的内存大小"</span>); <span class="hljs-keyword">if</span>(first_fit(ID,size1)) printf(<span class="hljs-string">"分配内存成功!\n"</span>); <span class="hljs-keyword">else</span> printf(<span class="hljs-string">"分配内存失败!\n"</span>); } void freeNode() { int ID; D<span class="hljs-function"><span class="hljs-title">uNode</span> *p = m_rid-></span>next; printf(<span class="hljs-string">"输入需要释放内存的作业号:"</span>); scanf(<span class="hljs-string">"%d"</span>, &ID); <span class="hljs-keyword">while</span> (p) { <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-keyword">data</span>.ID == ID) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.ID = <span class="hljs-number">0</span>; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-keyword">data</span>.isUsed = FREE; <span class="hljs-function"><span class="hljs-title">if</span> (!p-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed && p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-keyword">data</span>.isUsed) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.size += p-></span><span class="hljs-keyword">data</span>.size; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span>next; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span> = p-></span>prior; } <span class="hljs-function"><span class="hljs-title">if</span> (!p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed && p-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-keyword">data</span>.isUsed) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.size += p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-keyword">data</span>.size; <span class="hljs-function"><span class="hljs-title">if</span>(p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>prior=p; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next; } <span class="hljs-keyword">else</span> <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next; } <span class="hljs-function"><span class="hljs-title">if</span>(!p-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.isUsed && !p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-keyword">data</span>.isUsed) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">data</span>.size += p-></span><span class="hljs-function"><span class="hljs-title">data</span>.size + p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-keyword">data</span>.size; <span class="hljs-function"><span class="hljs-title">if</span>(p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next) { <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span> = p-></span>prior; <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next; } <span class="hljs-keyword">else</span> <span class="hljs-function"><span class="hljs-title">p</span>-></span><span class="hljs-function"><span class="hljs-title">prior</span>-></span><span class="hljs-function"><span class="hljs-title">next</span> = p-></span><span class="hljs-function"><span class="hljs-title">next</span>-></span>next; } printf(<span class="hljs-string">"释放内存成功!\n"</span>); break; } <span class="hljs-function"><span class="hljs-title">p</span> = p-></span>next; <span class="hljs-keyword">if</span>(!p) printf(<span class="hljs-string">"内存中没有该需要释放内存的作业!"</span>); } } void show() { printf(<span class="hljs-string">"------------------"</span>); printf(<span class="hljs-string">"内存分配情况"</span>); printf(<span class="hljs-string">"------------------\n"</span>); D<span class="hljs-function"><span class="hljs-title">uNode</span> *p = m_rid-></span>next; <span class="hljs-keyword">while</span>(p) { printf(<span class="hljs-string">"分区号:"</span>); <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-keyword">data</span>.ID==FREE) printf(<span class="hljs-string">"FREE\n"</span>); <span class="hljs-keyword">else</span> <span class="hljs-function"><span class="hljs-title">printf</span>("%d \n", p-></span><span class="hljs-keyword">data</span>.ID); <span class="hljs-function"><span class="hljs-title">printf</span>("起始地址:%d\n", p-></span><span class="hljs-keyword">data</span>.address); <span class="hljs-function"><span class="hljs-title">printf</span>("内存大小:%d\n", p-></span><span class="hljs-keyword">data</span>.size); printf(<span class="hljs-string">"分区状态:"</span>); <span class="hljs-function"><span class="hljs-title">if</span> (p-></span><span class="hljs-keyword">data</span>.isUsed==FREE) printf(<span class="hljs-string">"空闲\n"</span>); <span class="hljs-keyword">else</span> printf(<span class="hljs-string">"已分配\n"</span>); printf(<span class="hljs-string">"------------------\n"</span>); <span class="hljs-function"><span class="hljs-title">p</span>=p-></span>next; } } int main() { printf(<span class="hljs-string">"------------------"</span>); printf(<span class="hljs-string">"首次适应算法"</span>); printf(<span class="hljs-string">"------------------\n"</span>); init(); int tag = <span class="hljs-number">1</span>; <span class="hljs-keyword">while</span>(tag < <span class="hljs-number">3</span> && tag > <span class="hljs-number">0</span>) { printf(<span class="hljs-string">"输入要进行的操作"</span>); printf(<span class="hljs-string">"(1-分配内存,2-内存释放,其他-退出程序):"</span>); scanf(<span class="hljs-string">"%d"</span>, &tag); switch(tag) { case <span class="hljs-number">1</span>: alloc(); show(); break; case <span class="hljs-number">2</span>: freeNode(); show(); break; default: printf(<span class="hljs-string">"程序已退出!"</span>); } } } |
本文来自网络,不代表软粉网立场,转载请注明出处:https://www.rfff.net/p/3718.html