资源简介
串联文件,连续文件的存储模拟
操作系统课程设计
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
class File
{
public:
virtual int * store(int *aint nint k)=0;
virtual void show(int k)=0;
virtual void select(int i)=0;
virtual char * getName()=0;
};
class Series: public File
{
private:
char fname[20];
int fn;//存放文件大小
struct Place
{
int lk;
int pk;
Place * next;
};
Place * pHead;
Place * pEnd;
public:
Series(char * nameint n)
{
for(int i=0;i<20;i++)
fname[i]=name[i];
fn=n;
pHead=new Place;
pEnd=new Place;
pHead=pEnd=NULL;
}
int * store(int *aint nint k);
void show(int k);
void select(int i);
char * getName();
};
char * Series::getName()
{
return fname;
}
int * Series::store (int *aint nint k)
{
for(int i=0;i<=fn-1;i++)
{
Place * p=new Place;
p->lk=k;
p->pk=(int)(n*rand()/(RAND_MAX+1.0));
p->next=NULL;
while(a[p->pk]==1)
{
p->pk=(int)(n*rand()/(RAND_MAX+1.0));
}
if(pHead==NULL)
{
pHead=pEnd=p;
a[p->pk]=1;
}
else
{
pEnd->next=p;
pEnd=p;
a[p->pk]=1;
}
}
return a;
}
void Series::show(int k)
{
cout<<“文件名称: “< cout<<“文件大小: “< cout<<“文件的存储方式: 串联“< cout<<“该文件所占的内存物理块为:“;
Place * p;
p=pHead;
while(p)
{
if (p->lk==k)
{
while(p&&p->lk==k)
{
cout<pk<<“ “;
p=p->next ;
}
cout< break;
}
else p=p->next ;
}
// cout<<“下一个指针指向的物理块号: “<next->pk< }
void Series::select(int i)
{
int k=0;
Place * p;
p=pHead;
while(p&&k {
p=p->next;
k++ ;
}
if(p) cout<<“该文件所在的物理块号是: “<pk< if(!p) cout<<“无“<
}
class Indexing: public File
{
private:
char fname[20];//存放文件名称
int fn;//存放文件大小
int f[50];//存放文件索引表
public:
Indexing(char * nameint n)
{
int i;
for( i=0;i<20;i++)
fname[i]=name[i];
fn=n;
for( i=0;i<50;i++)
f[i]=0;
}
int * store(int *aint nint k);
void show(int k);
void select(int i);
char * getName();
};
char * Indexing::getName()
{
return fname;
}
int * Indexing::store (int *aint nint k)
{
for(int i=0;i {
f[i]=(int)(n*rand()/(RAND_MAX+1.0));
while(a[f[i]]==1)
{
f[i]=(int)(n*rand()/(RAND_MAX+1.0));
}
a[f[i]]=1;
}
return a;
}
void Indexing::show(int k)
{
cout<<“文件名称: “< cout<<“文件大小: “< cout<<“文件的存储方式: 索引“< cout<<“文件对应索引表如下所示:“< cout<<“逻辑块号 物理块号“< for(int i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5336 2010-01-25 12:33 c.cpp
----------- --------- ---------- ----- ----
5336 1
相关资源
- 华工操作系统课程设计
- 操作系统课程设计多级目录查询
- 时间片轮转、最高响应比优先调度算
- 进程调度模拟设计——先来先服务、
- 文件系统源码--操作系统课程设计
- 计算机操作系统课程设计报告.docx
- 基于FAT16的虚拟文件系统——操
- 华中科技大学操作系统课程设计源代
- 15年操作系统课程设计
- 操作系统课程设计(虚拟文件系统)
- 操作系统课程设计-文件管理系统-源码
- 操作系统课程设计-文件系统源码+文档
- 操作系统课程设计 目录查询
- 操作系统课程设计 处理机调度程序
- 文件管理系统-操作系统课程设计
- 操作系统课程设计小型命令处理器s
- 操作系统课程设计--模拟文件系统
- \\操作系统课程设计银行家算法,生产
- 华中科技大学操作系统课程设计
- 操作系统课程设计--死锁
- 操作系统课程设计作业调度算法源程
- 操作系统课程设计实验报告及源代码
- 操作系统课程设计进程间通信
- 操作系统课程设计哲学家进餐问题报
- 操作系统课程设计大全
- 广工操作系统课程设计
- 操作系统课程设计实现了进程间的通
- 操作系统课程设计——文件管理系统
- 操作系统课程设计 文件系统
- 操作系统课程设计—linux字符设备驱动
评论
共有 条评论