文章
16
粉丝
76
获赞
3
访问
10.6k
#include <bits/stdc++.h>
using namespace std;
typedef struct node{
char data;
struct node *lchild,*rchild;
}*BiTree,BiTnode;
//构建二叉排序树
void InsertBitree(BiTree &T,char data){
if(T==NULL){
T=new node;
T->data=data;
T->lchild=NULL;
T->rchild=NULL;
return;
}
if(data<=T->data)
InsertBitree(T->lchild,data);
else
InsertBitree(T->rchild,data);
}
int cnt=0;//记录先序字符串的下标
//将字符先序存入字符串中
void PreOrder(BiTree T,string &s){
if(T!=NULL){
s[cnt++]=T->data;
PreOrder(T->lchild,s);
PreOrder(T->rchild,s);
}
}
int main(){
int n;
while(cin>>n){
if(n==0) return 0;
int len=0;//记录主串的长度
string s,spre;//spre记录主串前序输出的之后的字符串
cin>>s;
len=s.length();
BiTree T=NULL;
for(int i=0;i<len;i++){
InsertBitree(T,s[i]);
}
P...
登录后发布评论
暂无评论,来抢沙发