文章
15
粉丝
39
获赞
137
访问
5.6k
#include<bits/stdc++.h>
using namespace std;
//15:56
typedef struct node{
vector<node*> child;
string key;
}* menu;
bool cmp(node* x,node* y){
return x->key < y->key;
}
//同一级的需要排序
void printpath(node* head,int kg){
for(int j=0;j<kg*2;j++){
cout<<' ';
}
cout<<head->key<<endl;
sort(head->child.begin(),head->child.end(),cmp); //其他级目录在这里排序
// cout<<endl;
for(int i=0;i<head->child.size();i++){
printpath(head->child[i],kg+1);
}
}
int main(){
int n;
while(cin>>n){
if(n==0) return 1;
vector<menu> mu1;//记录每个一级目录的地址
map<string,int> mp1;//各目录对应下标
string s;
for(int i=0;i<n;i++){
cin>>s;
int l=s.length();
int k=1;
menu head1;
//找到头结点
int st=0;
int j=0;
while(s[j]!='\\' && j<l) j++;
string val=s.substr(st,j-st);
if(mp1.find(val)==mp1.end()){
mp1[val]=mu1.size();
head1=new node; //注意...
登录后发布评论
暂无评论,来抢沙发