目录树
来源:互联网 发布:淘宝怎么增加买家信用 编辑:程序博客网 时间:2024/05/19 05:37
xjb水过。。。
#include <stdio.h>#include <string.h>#include <stdlib.h>char s[10005][280];struct node{ int cnt; char str[280];}ss[10005];int cmp(const void *a ,const void *b){ return strcmp((*(struct node *)a).str,(*(struct node *)b).str);}int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%s",s[i]); puts("root"); for(int i=0;i<n;i++) { ss[i].cnt=0; int prej=0; for(int j=0;s[i][j]!='\0';j++) { if(s[i][j]=='\\') { char tmp[1100];int tt=1; tmp[0]='%'; for(int k=prej;k<j;k++) tmp[tt++]=s[i][k]; for(int k=0;k<tt;k++) ss[i].str[ss[i].cnt++]=tmp[k]; ss[i].str[ss[i].cnt++]='!'; prej=j+1; } } for(int j=prej;s[i][j]!='\0';j++) ss[i].str[ss[i].cnt++]=s[i][j]; ss[i].str[ss[i].cnt]='\0'; } qsort(ss,n,sizeof(ss[0]),cmp); printf(" "); int num=1; for(int j=0;j<ss[0].cnt;j++) { if(ss[0].str[j]=='%')continue; if(ss[0].str[j]=='!') { num++; if(j!=ss[0].cnt-1) { puts(""); for(int k=0;k<2*num;k++) putchar(' '); } } else putchar(ss[0].str[j]); } for(int i=1;i<n;i++) { if(strcmp(ss[i].str,ss[i-1].str)==0)continue; int pp=0;num=1; for(int j=0;j<ss[i-1].cnt;j++) { if(ss[i].str[j]!=ss[i-1].str[j]) break; if(ss[i].str[j]=='!') { num++; pp=j+1; } } puts(""); for(int j=0;j<2*num;j++) putchar(' '); for(int j=pp;j<ss[i].cnt;j++) { if(ss[i].str[j]=='%')continue; if(ss[i].str[j]=='!') { num++; if(j!=ss[i].cnt-1) { puts(""); for(int k=0;k<2*num;k++) putchar(' '); } } else putchar(ss[i].str[j]); } } puts("");}
0 0
- 树目录
- 目录树
- 树目录
- 树目录
- 树目录
- 目录树
- 目录树-文件夹目录树-图片列表
- 列出当前目录下的目录树
- 打印 目录树,获知源码目录结构
- 遍历某个目录,生成目录树
- 创建随机目录及目录树函数
- 输出一个目录下的目录树
- 遍历目录树,清理编译目录
- Linux 的目录树
- 树型目录菜单
- Javascript动态目录树
- 目录树生成
- Linux 的目录树
- springmvc
- 测一测跟男友差几岁你最幸福?
- Android设置控件透明度
- ios导航栏操作
- iOS错误:解决用Xcode打开iPhone工程变成了My Mac的问题
- 目录树
- iOS 不同需求下的定位
- recyclerView 让其跟随软键盘
- Fast R-CNN论文详解
- C语言编程小感想
- S3C2440 NOR FLASH 地址对齐
- 网页输入框测试
- WCF基本概念
- 今天,开通CSDN微博,希望大家一起交流学习,共享知识