文件名称:zuijiasuanfa
-
所属分类:
- 标签属性:
- 上传时间:2011-03-29
-
文件大小:2.79kb
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
#include #include #define M 20 #define N 3 int mm[M]={0,0,0,2,3,1,0,4,2,3,2,1,0,3,2,2,1,3,0,1}; int nn[N]; int number; void Xunhuan(void); void FIFO(void); void Best(void); void LRU(void); int main() { char ss[1]; int i,j, *p=nn; int c, k=0; for(i=0;i<N;i++){nn[i]=1000;printf("%d ",nn[i]);} for(i=0;i<M;i++) {c=0; for(j=0;j<N;j++) if((*(p+j)==mm[i])){c=1;break;} if(c==0){if(j==N) {*(p+k)=mm[i]; k++; number=i; } if(k==N){break;} } } printf("\n"); for(i=0;i<M;i++)printf("%d ",mm[i]); printf("\n"); Xunhuan(); while(1){ printf("Continue or Exit:C/Anykey:\n"); scanf("%s",&ss[0]); if(ss[0]=='c'||ss[0]=='C')Xunhuan(); else break; } exit(0); } void Xunhuan() { char tt; printf("Please select 1:FIFO; 2:Best; 3:LRU\n"); scanf("%s",&tt); switch(tt) { case '1':FIFO();break; case '2':Best();break; case '3':LRU(); break; } } void FIFO() { int bb[N],*p=bb,array[M][N]; int i,j,k,t; k=0,t=0; for(i=0;i<N;i++) bb[i]=nn[i]; for(i=number;i<M;i++) {for(j=0;j<N;j++) if(*(p+j)==mm[i]) { break;} if(j==N) {k=k%N; *(p+k)=mm[i]; printf("nn[""%d""]置换:",k); k++; for(j=0;j<N;j++)array[t][j]=*(p+j); t++; printf("\n"); } } printf("\n"); for(i=0;i<N;i++) { for(j=0;j<t;j++) printf("%d ",array[j][i]); printf("\n"); } } void Best() { int bb[N],*p=bb,array[M][N]; int i,j,k,n,t,num,m; k=0,m=0; for(i=0;i<N;i++) bb[i]=nn[i]; for(i=number;i<M;i++) { num=i; for(j=0;j<N;j++) if(*(p+j)==mm[i])break; if(j==N) { for(j=0;j<N;j++) {for(k=i;k<M;k++) if(*(p+j)==mm[k]){if(num<k){num=k;t=j;} break; } if(k==M){num=k;t=j;break;} } *(p+t)=mm[i]; printf("nn[""%d""]置换:",t); for(j=0;j<N;j++)array[m][j]=*(p+j); m++; printf("\n"); } } for(i=0;i<N;i++) { for(j=0;j<m;j++)printf("%d ",array[j][i]);printf("\n");} } void LRU() { int bb[N],*p=bb,array[M][N]; int i,j,k,t,num,m; k=0,m=0; for(i=0;i<N;i++) bb[i]=nn[i]; for(i=number;i<M;i++) { num=i; for(j=0;jk){num=k;t=j;} break; } if(k==-1){num=k;t=j;break;} } *(p+t)=mm[i]; printf("nn[""%d""]置换:",t); for(j=0;j<N;j++)array[m][j]=*(p+j);m++; printf("\n"); } } for(i=0;i<N;i++) { for(j=0;j<m;j++)printf("%d ",array[j][i]);printf("\n");} }
(系统自动生成,下载前可以参看下载内容)
下载文件列表
压缩包 : 在VC上运行.txt 列表
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.