作者Sucker (e04)
看板Grad-ProbAsk
标题Re: [问题] 中央94资结
时间Fri Mar 20 10:12:01 2009
※ 引述《depend (depend)》之铭言:
: 题目:
: http://140.115.130.224:8080/~arhui/cexamn/exam/MA02_94_04.pdf
: 第一题的程式要怎麽写阿@@"
: 我的想法是用链结串列
: 里面有tag和key
: tag=true or false
: key是内容
: 想像图...
: ( → a → → ) → null
: ↓
: ( → b → c → ) → null
: 可是我不知道怎麽写出程式....= =
: 麻烦高手能教一下> <
: 谢谢~
struct listnode {
listnode *sub,*link; //sub指向sublist,link指向下一node
bool type; //type=true表有sublist
char data;
//建构式
listnode(char c) {
data=c;
type=false;
link=NULL;
}
listnode(listnode&n){
*sub=n;
type=true;
link=NULL;
}
};
//串列反转 概念同链结串列反转 只差递回
listnode* invert(listnode*l) {
if(l!=NULL) {
listnode*p,*q,*r;
p=l;
q=NULL;
while(p!=NULL) {
=> if(p->type)
=> p->sub=invert(p->sub);
r=q;
q=p;
p=p->link;
q->link=r;
}
return q;
}
return l;
}
这是我用C++写的 应该可以run
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.86.176
1F:→ depend:原来结构是这样写@@"我大概了解了~谢谢原po^^ 03/20 11:15