noi2275 文件结构“图” 优先队列
来源:互联网 发布:网络歌曲《勇往直前》 编辑:程序博客网 时间:2024/05/09 22:52
在计算机上看到文件系统的结构通常很有用。Microsoft Windows上面的"explorer"程序就是这样的一个例子。但是在有图形界面之前,没有图形化的表示方法的,那时候最好的方式是把目录和文件的结构显示成一个"图"的样子,而且使用缩排的形式来表示目录的结构。比如:
ROOT| dir1| file1| file2| file3| dir2| dir3| file1file1file2
这个图说明:ROOT目录包括三个子目录和两个文件。第一个子目录包含3个文件,第二个子目录是空的,第三个子目录包含一个文件。
你需要注意的是,我们使用一个'|'和5个空格来表示出缩排的层次。
file1file2dir3dir2file1file2]]file4dir1]file3*file2file1*#
DATA SET 1:ROOT| dir3| | dir2| | file1| | file2| dir1file1file2file3file4DATA SET 2:ROOTfile1file2
用优先队列,其他的就是模拟了....然而我却没有做出来,特别是递归解法
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<math.h> #include<queue>using namespace std; int main(){string inp;int ndir=1,mark=1,cnt=1,i,j,k;priority_queue<string,vector<string>,greater<string> >q[1005];//优先队列,储存file //freopen("1.txt","w",stdout);while(1){cin>>inp;if(inp[0]=='#')break;if(mark){cout<<"DATA SET "<<cnt<<":"<<endl;cout<<"ROOT"<<endl;mark=0;}if(inp[0]=='d'){for(i=1;i<=ndir;i++)cout<<"| ";cout<<inp<<endl;ndir++;}else if(inp[0]=='f')q[ndir].push(inp);else if(inp[0]==']'||inp[0]=='*'){while(!q[ndir].empty()){for(i=1;i<=ndir-1;i++)cout<<"| ";cout<<q[ndir].top()<<endl;q[ndir].pop();}ndir--;}if(inp[0]=='*'){mark=1;ndir=1;cnt++;cout<<endl;}}return 0;}
0 0
- noi2275 文件结构“图” 优先队列
- 结构体优先队列
- 结构体优先队列自定义优先度
- 结构体优先队列排序
- 结构体的优先队列
- 优先队列-结构体重载
- 优先队列(堆序结构)
- nyoj754 黑心医生 结构体优先队列
- java使用堆结构实现优先队列
- HDU5437 结构体排序和优先队列
- 结构体优先队列的用法
- 结构体 的优先队列 【模板】
- ZOJ2212 Argus 优先队列 结构体
- C++数据 结构--------队列Queue ==优先队列
- 优先队列三大结构之一——二项堆
- hdu 幸福列车_优先队列+结构体
- 在优先队列中使用结构体的若干小结
- hdu1873 看病要排队(结构体优先队列)
- Swift中多线程和异步任务
- 使用 等空格实现最小成本中文对齐
- Android事件分发机制
- iOS开发-常用第三方开源框架介绍
- Redis实现Mybatis的二级缓存
- noi2275 文件结构“图” 优先队列
- NSString 判断相等
- JNI 方法
- ROS_OpenCV_socket客户端传送图像
- ipython notebook安装及使用(一)
- class与struct的区别
- 面试笔试杂项积累-leetcode 1-5
- iOS NSString的相关常见知识
- Linux下动态链接库的使用