c语言实现页面置换.docVIP

  • 21
  • 0
  • 约3.49千字
  • 约 5页
  • 2017-06-07 发布于重庆
  • 举报
c语言实现页面置换

c语言实现页面置换.txt男人应该感谢20多岁陪在自己身边的女人。因为20岁是男人人生的最低谷,没钱,没事业;而20岁,却是女人一生中最灿烂的季节。只要锄头舞得好,哪有墙角挖不到?#include stdio.h #include stdlib.h #define true 1 #define false 0 int wang; /*是否有元素*/ int have(int a[],int t) { int i=0,j=0; for(j=0;j4;j++) { if(a[j]==t) { i=1; /*有元素*/ break; } } return i; } /*先进先出页面置换算法*/ void FIFO(int num[]) { int i,j,k; int a[4]={-1,-1,-1,-1} ; for(i=0,j=0;i20;i++) { if(j4) { if(have(a,num[i])==0) a[j++]=num[i]; } else { if(have(a,num[i])==0) { for(j=1;j4;j++) a[j-1]=a[j]; a[3]=num[i]; } } for(k=0;k4;k++) printf( %2d,a[k]); printf( \n); } } /*最近最久未使用*/ void LRU(int num[]) { int i,j,k,temp; int a[4]={-1,-1,-1,-1} ; for(i=0;i20;i++) { if(i==0) a[0]=num[0]; else { for(j=0;j4;j++) { if(a[j]==num[i]) break; } for(k=j;k0;k--) { a[k]=a[k-1]; } a[0]=num[i]; } for(k=0;k4;k++) printf( %2d,a[k]); printf( \n); } } /*选择排序*/ void SelectSort(int r[],int n) { int i,j,temp; for(i=0;in;i++) { for(j=i+1;jn;j++) /*不考虑后面元素,可视从j往前的数据都是排好的*/ { if(r[i]r[j])/*如果当前元素r[j]比索引指向的元素r[i]小,换位*/ { temp=r[i]; r[i]=r[j]; r[j]=temp; } } } } /*返回要置换的位置*/ int del(int a[],int num[],int n) { int i,j; int s[4]={0,0,0,0}; int t[4]={0,0,0,0}; for(i=0;i4;i++) { for(j=n;j20;j++) { if(a[i]==num[j]) { s[i]=j; t[i]=j; break; } } if(j==2

文档评论(0)

1亿VIP精品文档

相关文档