循环首次适应算法
来源:互联网 发布:sql r2是什么意识 编辑:程序博客网 时间:2024/04/29 13:22
#include <stdio.h>#include <graphics.h>#include <conio.h>#include <stdlib.h>#include <malloc.h>#define NULL 0#define int ElemType#define LEN sizeof(struct MainM)#define minsize 8int main_mem[1024];int n;strct MainM{ElemType num;int size;int beign;struct MainM *next,*pre;}*start, *node;void mem_made(){int use_start=random(1023);int use_end=random(96);int i;while(use_start+use_end<1023){for(i=use_start;i<=use_start+use_end;i++){man_mem[i]=1;}use_start=random(1023);use_end=random(96);}}void create(void){int i=0;start=(struct MainM*)malloc(LEN);node=start;for(;i<1023;){if(main_mem[i]==1){i++;contiune;}else if(main_mem[i]==0){node->next=(struct MainM*)malloc(LEN);node->next-pre=node;node->begin=i;node->size=1;while((main_mem[++i]==0)&&(i<=1023)){node->size++;}node=node->next;}}node->pre-next=start;start-pre=node-pre;node=start;}int scan(int m){int i=0;int n=0;struct MainM *p;p=node;do{if(m>node->size)node =node->next;else if(m<=node->size){if(node->size-m<minsize){for(i=node->begin;i<=((node->begin)+node->size-1):i++){main_mem[i]=1;}if(start==node){start=node->next;node->pre->next=start;start->pre=node->pre;}else{node->pre->next=node->next;node->next->pre=node->pre;}node=node->next;p=node;return 1;}else{for(i=node->begin;i<=((node->begin)+m-1)i++){main_mem[i]=1;node->begin+=m;node->size=m;if(node->size==0){if(start==node){start=node->next;node->pre->next=start;start->pre=node->pre;}else{node->pre->next=node->next;node->next->pre=node->pre;}}}node=node->next;p=node;return 1;}}}while(node!=p);return 0;}void print(){struct MainM *d;d=start;printf("B:");do{printf("%d\t",d->begin);d=d->next;}while(d!=start);d=start;printf("\nS:");do{printf("%d\t",d->size);}while(d!=start);}void printline(){struct MainM *f;f=node;setcolor(7);setlinestyle(8,4,3);line((f->begin)*0.6+10,425,(f-begin)*0.6+10,440);line((f->begin)*0.6+7,436,(f-begin)*0.6+10,440);line((f->begin)*0.6+13,436,(f-begin)*0.6+10,440);}int main(int argc,char *argv[]){int i=0;int m=DETECT,d=0;int con=0;initgraph(&m,&d,"C:\\TURBOC2\\BGI");_graphetmem(1024);clrscr();mem_made();create();while(1){clrscr();cleardevice();setbkcolor(1);setlinestyle(0,0,0);for(i=0;i<1024;i++){if(main_mem[i]==0){setcolor(2);}else if(main_mem[i]==1){setcolor(4);}rectangle(1*0.6+10,400,i*0.6+10.5,420);}for(i=0;i<1024;i++){if(main_mem[i]==0){setcolor(2);}elsesetcolor(0);rectangle(1*0.6+10,440,i*0.6+10.5,460);}printline();for(i=0;i<=1023;i++){printf("%d",main_mem[i]);}printf("\n********************************************************************************");printf("\nPlease input the requests:\n");scanf("%d",&n);con=scan(n);if(con){printf("Success!!");}else{printf("Nospace to use!Just wait!!");}getch();}return 0;}
0 0
- 循环首次适应算法
- 操作系统-循环首次适应算法
- 首次适应算法(FF)和循环首次适应算法(NF)
- 首次适应算法和最佳适应算法和循环首次适应算法和最坏适应算法
- 动态分区分配-循环首次适应算法+最佳适应算法
- 循环首次适应算法、首次适应算法、最佳适应算法_C语言版
- 动态内存分配之循环首次适应算法
- 操作系统-首次适应算法
- 常见内存分配算法:首次适应算法(FirstFit)循环首次适应算法(NextFit)最佳适应算法(BestFit)最坏适应算法(WorstFit)
- 动态分区分配-首次适应算法
- 动态分区分配-首次适应算法
- 内存分配(首次适应算法)
- FF(首次适应)算法C,Java实现
- 实例分析首次适应算法、最佳适应算法、最差适应算法
- 操作系统——动态分区存储管理(首次适应算法)
- 采用首次适应算法的动态分区分配模拟
- 首次适应算法实现主存的分配与回收
- 首次适应(FirstFit)算法(空闲区地址递增)
- NGUI ——UILabel复制粘贴
- MySQL集群节点、节点组、数据副本、以及分区
- 业余10—解决只能打开网页不能打开QQ或视频软件问题
- 单词统计
- 异步任务
- 循环首次适应算法
- PHP设计模式之适配器模式
- [黑马程序员]——java的概述
- ucos II任务管理之三:删除任务
- MAC 下查看某个端口被哪个进程占用及杀进程方法
- jquery.autocomplete.js 文本框自动填充 类似百度搜索引擎效果
- 通信网络航天卫星国际会议
- 面题1(类型转换关键字、sizeof(空类型)、复制构造、赋值运算符)
- hbase-1.0.1安装