freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華農(nóng)數(shù)據(jù)結(jié)構(gòu)上機(jī)實(shí)驗(yàn)答案-資料下載頁(yè)

2025-06-28 00:13本頁(yè)面
  

【正文】 ing S,T。 scanf(%d,amp。n)。 ch=getchar()。 for(j=1。j=n。j++) { ch=getchar()。 for(i=1。i=MAXSTRLENamp。amp。(ch!=39。\n39。)。i++) { S[i]=ch。 ch=getchar()。 } S[0]=i1。 ch=getchar()。 for(i=1。i=MAXSTRLENamp。amp。(ch!=39。\n39。)。i++) { T[i]=ch。 ch=getchar()。 } T[0]=i1。 pos=Index_KMP(S,T,0)。 printf(%d\n,pos)。 } return 0。} includeincludedefine TRUE 1define FALSE 0define OK 1define ERROR 0define INFEASIBLE 1define OVERFLOW 2typedef int Status。typedef char ElemType。typedef struct BiTNode{ ElemType data。 struct BiTNode *lchild,*rchild。}BiTNode,*BiTree。BiTree CreateBiTree(BiTree amp。T){ char ch。 scanf(%c,amp。ch)。 if(ch==39。39。) T=NULL。 else { if(!(T=(BiTNode*)malloc(sizeof(BiTNode)))) return ERROR。 Tdata=ch。 CreateBiTree(Tlchild)。 CreateBiTree(Trchild)。 } return T。}Status Visit(ElemType e){ if(e!=39。39。) { printf(%c,e)。 return OK。 } else return FALSE。}Status PreOrderTraverse(BiTree T){ if(T) { if(Visit(Tdata)) if(PreOrderTraverse(Tlchild)) if(PreOrderTraverse(Trchild)) return OK。 return ERROR。 } else return OK。}Status InOrderTraverse(BiTree T){ if(T) { if(InOrderTraverse(Tlchild)) if(Visit(Tdata)) if(InOrderTraverse(Trchild)) return OK。 return ERROR。 } else return OK。}Status PostOrderTraverse(BiTree T){ if(T) { if(PostOrderTraverse(Tlchild)) if(PostOrderTraverse(Trchild)) if(Visit(Tdata)) return OK。 return ERROR。 } else return OK。}int main(){ BiTree T。 CreateBiTree(T)。 PreOrderTraverse(T)。 printf(\n)。 InOrderTraverse(T)。 printf(\n)。 PostOrderTraverse(T)。 printf(\n)。 return 0。}(1) includeincludedefine TRUE 1define OK 1define ERROR 0define INFEASIBLE 1define OVERFLOW 2define STACK_INIT_SIZE 100define STACKINCREMENT 10typedef int Status。typedef int ElemType。typedef struct BiTNode{ ElemType data。 struct BiTNode *lchild,*rchild。}BiTNode,*BiTree。typedef struct stack{ BiTree *base。 BiTree *top。 int stacksize。}SqStack。typedef struct queuenode{ BiTree ch。 struct queuenode *next。}queuenode,*queueptr。 typedef struct{ queueptr front。 queueptr rear。}linkqueue。 Status InsertBiT(BiTree *T,int k){ BiTNode *q,*p=*T。 while(p) { if(pdata==k) return ERROR。 q=p。 p=(kpdata)?plchild:prchild。 } p=(BiTNode*)malloc(sizeof(BiTNode))。 pdata=k。 plchild=prchild=NULL。 if(*T==NULL) *T=p。 else if(kqdata) qlchild=p。 else qrchild=p。 return OK。} BiTree CreateBiT(int n){ BiTree T=NULL。 int k,i。 for(i=1。i=n。i++) { scanf(%d,amp。k)。 InsertBiT(amp。T,k)。 } return T。 }Status Visit(ElemType e){ printf(%d ,e)。 return OK。}Status PreOrderTraverse(BiTree T){ if(T) { if(Visit(Tdata)) if(PreOrderTraverse(Tlchild)) if(PreOrderTraverse(Trchild)) return OK。 return ERROR。 } else return OK。}Status InOrderTraverse(BiTree T){ if(T) { if(InOrderTraverse(Tlchild)) if(Visit(Tdata)) if(InOrderTraverse(Trchild)) return OK。 return ERROR。 } else return OK。}Status PostOrderTraverse(BiTree T){ if(T) { if(PostOrderTraverse(Tlchild)) if(PostOrderTraverse(Trchild)) if(Visit(Tdata)) return OK。 return ERROR。 } else return OK。}Status Visits(ElemType e,int m,int amp。t){ if(e==m) t=1。 return OK。}Status Postsearch(BiTree T,int m,int amp。t){ if(T) { if(Postsearch(Tlchild,m,t)) if(Postsearch(Trchild,m,t)) if(Visits(Tdata,m,t)) return OK。 return ERROR。 } else return OK。}Status InitStack(SqStack amp。S){ =(BiTree*)malloc(STACK_INIT_SIZE*sizeof(BiTree))。 if(!) return ERROR。 =。 =STACK_INIT_SIZE。 return OK。}Status Push(SqStack amp。S,BiTree e){ if(=) { =(BiTree*)realloc(,(+STACKINCREMENT)*sizeof(BiTree))。 if() return ERROR。 +=STACKINCREMENT。 } *++=e。 return OK。}Status Pop(SqStack amp。S,BiTree amp。e){ if(==) return ERROR。 e=*。 return OK。}Status StackEmpty(SqStack amp。S){ if(==) return 1。 else return 0。}Status InOrderTraverses(BiTree T){ SqStack s。 InitStack(s)。 BiTree p。 p=T。 while (p||!StackEmpty(s)) { while(p) { Push(s,p)。 p=plchild。 } Pop(s,p)。 Visit(pdata)。 p=prchild。 } return OK。}void initqueue(linkqueue amp。q){ ==(queueptr)malloc(sizeof(queuenode))。 next=NULL。}void enqueue(linkqueue amp。q,BiTree p){ queueptr s。 s=(queueptr)malloc(sizeof(queuenode))。 sch=p。 snext=NULL。 next=s。 =s。}void dequeue(linkqueue amp。q,BiTree amp。p){ int data。 queueptr s。 s=next。 p=sch。 data=pdata。 next=snext。 if(==s) =。 free(s)。 printf(%d ,data)。}int queueempty(linkqueue q){ if(next==NULL) return 1。 return 0。}void traverse(BiTree bt){ linkqueue q。 BiTree p。 initqueue(q)。 p=bt。 enqueue(q,p)。 while(queueempty(q)!=1) { dequeue(q,p)。 if(plchild!=NULL) enqueue(q,plchild)。 if(prchild!=NULL) enqueue(q,prchild)。 } printf(\n)。}int main(){ int m1,m2,n,i,t=0。 BiTree T。 scanf(%d,amp。n)。 T=CreateBiT(n)。 scanf(%d%d%d,amp。m1,amp。m2,amp。i)。 PreOrderTraverse(T)。 printf(\n)。 InOrderTraverse(T)。 printf(\n)。 PostOrderTraverse(T)。 printf(\n)。 Postsearch(T,m1,t)。 if(t==1) printf(1\n)。 else printf(0\n)。 t=0。 Postsearch(T,m2,t)。 if(t==1) printf(1\n)。 else printf(0\n)。 InsertBiT(amp。T,i)。 PreOrderTraverse(T
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1