操作系统(FIFO,LRU算法,内有用栈编写的源代码)
typedef struct { datatype data[1024]; int top; int pop; }seqstack; /**** 空栈 *****/ void SETNULL(seqstack *s) { s->top=-1; s->pop=-1; } /**** 入栈 *****/ void PUSH(seqstack *s,datatype x,int nc_size) { if(s->top==nc_size-1) { s->pop++; s->data[s->pop]=x; } else { s->top++; s->data[s->top]=x; } } /**** 栈空 *****/ int EMPTY(seqstack *s) { if(s->top>=0)return 0; else return 1; } /**** 用于LRU入栈 *****/ void PUSH1(seqstack *s,datatype x,int nc_size){ // s->pop++; while(s->pop<nc_size-1){ s->pop++; if(s->data[s->pop]==x){ for(int i=s->pop;i<nc_size;i++){ s->data[i]=s->data[i+1]; } } } s->data[s->top]=x; } /**** 判断 *****/ int FULL(seqstack *s,int nc_size) { if(s->top==nc_size-1)return 1; else return 0; } /**** 压栈 *****/ void POP(seqstack *s,int nc_size) { if(EMPTY(s)) {} else { for(int i=0;i<nc_size-1;i++) s->data[i]=s->data[i+1]; s->top--; } } void showzhan(seqstack *s,int nc_size){ for(int k=nc_size-1;k>=0;k--){ cout<<"栈队列----------------------[ "<<s->data[k]<<"]"<<endl; } }
- zhaiyonghao1232012-11-24挺详细的,好用
- 放星星的羊_2013-03-20还不错,有一定的参考价值
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助