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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)的語(yǔ)言算法-閱讀頁(yè)

2025-07-02 06:52本頁(yè)面
  

【正文】 printf(input m n:)。m,amp。 printf(digui c(%d,%d)=%d\n,m,n,f1(m,n))。 system(pause)。int rear=0,len=0。 else { rear=(rear+1)%MaxSize。 len++。 }}int dequeue(queue qu,char *x){ int front。 else { front=(rearlen+1+MaxSize)%MaxSize。 len。 }}void main(){ char x。 printf(a入隊(duì)\n)。a39。 printf(b入隊(duì)\n)。b39。 printf(c入隊(duì)\n)。c39。 printf(出隊(duì)一次:)。x)。 printf(d入隊(duì)\n)。d39。 printf(e入隊(duì)\n)。e39。 printf(出對(duì)一次:)。x)。 printf(f入隊(duì)\n)。f39。 printf(g入隊(duì)\n)。g39。 printf(出隊(duì)一次:)。x)。 printf(余下元素出列:)。x)。 } printf(\n)。}/*假設(shè)稱正讀和反讀都相同的字符序列為“回文”,例如:‘a(chǎn)bba’和‘a(chǎn)bcba’是回文,‘a(chǎn)bcde’和‘a(chǎn)babab’則不是回文。 struct node *next。ode *create(char s[]){ int i=0。 while(s[i]!=39。) { p=(ode *)malloc(sizeof(ode))。pnext=NULL。r=h。r=p。 } return h。 int top=0。 while (p!=NULL) { st[top]=pdata。 p=pnext。 while(p!=NULL) { top。 else break。 else return 0。 ode *h。 scanf(%s,str)。 if(judge(h)==1) printf(39。是回文,str)。%s39。 getch()。 int len。void create(strtype *s,char str[])/*將普通字符串賦給串*/{ strcpy(sch,str)。}int length(strtype *s)/*求串長(zhǎng)度*/{ return slen。 for(i=0。i++) s2ch[i]=s1ch[i]。 s2ch[s2len]=39。/*添加字符串結(jié)束符*/}strtypr subs(strtype *s,int pos,int n)/*求子串*/{ int i。 if(pos+n1length(s1))/*參數(shù)不正確*/ =0。ipos+n1。 =n。\039。}}int concat(strtype *s,strtype *t)/*連接兩個(gè)串*/{ int i。 for(i=0。i++) sch[i+slen]=tch[i]。 sch[slen]=39。 return 1。 if(slen+tlenMaxLen) return 0。j=i1。 for(j=0。j++) sch[j+i1]=tch[j]。 sch[slen]=39。 return 1。 if(pos+nslen) for(i=pos+n1。i++) sch[in]=sch[i]。 sch[slen]=39。 return 1。 else printf(%d\n,sch)。 int n,k。ni1。 for(n=0。 =i+s2len1。ks1len。 =n。\039。\039。 } return (s)。 create(amp。 printf(s=)。s)。s,7,1)。s,3,1)。s,6,1)。s,3,1,amp。 s5=replace(amp。s1)。s5,7,1,amp。 printf(t=)。s6)。 while (is1len) { j=0。j++。amp。amp。j++。 else i++。 } if(is1len) return 1。}void delall(strtype *s1,strtype *s2){ int n。 while(n=0) { del(s1,n,length(s2))。 } diap(s1)。 char str[MaxLen]。 gets(str)。s1,str)。 gets(str)。s2,str)。s1,amp。}第五章 數(shù)組與廣義表:includeincludeincludedefine MaxLen 100typedef struct node/*定義廣義表結(jié)構(gòu)*/{ int tag。/*后繼節(jié)點(diǎn)*/ union { char data。/*子表*/ }val。void disastr(char s[],char hstr[])/*本函數(shù)為輔助建立廣義表的函數(shù)從字符串s中取出第一個(gè)39。之前的子串賦給hstr,并使s成為刪除子串hstr和39。之后的剩余串。,39。 char rstr[MaxLen]。amp。,39。(39。 else if(s[i]==39。) k。,39。,39。amp。 i++。 } } hstr[j]=39。 if(s[i]==39。) i++。 r++。 } rstr[r]=39。 strcpy(s,rstr)。 char subs[MaxLen],hstr[MaxLen]。 len=strlen(s)。 else if(len==1)/*原子的情況*/ { gh=(gnode *)malloc(sizeof(gnode))。/*構(gòu)造原子節(jié)點(diǎn)*/ gh=*s。 } else/*子表的情況*/ { gh=(gnode *)malloc(sizeof(gnode))。 p=gh。/*除掉前面的一個(gè)39。*/ strncpy(subs,s,len2)。\039。/*將subs分為表頭和表尾*/ r=create(hstr)。 q=p。 if(len0) { p=(gnode *)malloc(sizeof(gnode))。 qlink=p。 qlink=NULL。}void disp(gnode *h)/*以字符串方式輸出廣義表*/{ gnode *p,*q。 if(h) do { p=h。 while(qamp。pamp。!ptag)/*為原子且有后繼節(jié)點(diǎn)的情況*/ { printf(%d ,p)。 q=qlink。amp。 break。 else disp(p)。 h=q。 printf())。 if(p!=NULL) { if(!ptagamp。p==x) return(1)。 if(find) return(1)。 } else return(0)。 q=NULL。/*創(chuàng)建一個(gè)節(jié)點(diǎn)*/ qtag=ptag。/*原子節(jié)點(diǎn)直接復(fù)制*/ else { gcopy(p,q)。 } }}void main(){ gnode *p,*q。 printf(輸入廣義表表達(dá)式: )。 p=create(str)。 disp(p)。 printf(\n復(fù)制的廣義表: )。 printf(\n)。 if(p!=NULLamp。q!=NULL) { if(ptag==0amp。ptag!=0) if(p!=q) flag=0。amp。 else flag=0。 } else { if(p==NULLamp。q!=NULL) flag=0。amp。 } return (flag)。 g1=create((a,(b,c,d),e,((f))))。 g3=create((a,(b),(c,d),e,(f)))。 disp(g1)。 printf(廣義表g2: )。 printf(\n)。 disp(g3)。 printf(g1與g2:)。 printf(\n)。 printf((same(g1,g3)==0)?不同: 相同)。q){ gnode *r,*s,*t,*b。 else { if(ptag==0)/*為原子的情況*/ { s=(gnode *)malloc(sizeof(gnode))。 s=NULL。 q=s。/*處理表頭*/ if(plink!=NULL) { reverse(plink,t)。/*給表頭加上一個(gè)子表節(jié)點(diǎn)*/ btag=1。 b=s。r=t。 rlink=b。/*創(chuàng)建表頭節(jié)點(diǎn)q*/ q=tag=1。 q=s。 g1=create(((a,b),c,(d,e)))。 disp(g1)。 reverse(g1,g2)。 printf(廣義表g1: )。 printf(\n)。*q){ gnode *s,*t。 else { if(ptag==0)/*為原子節(jié)點(diǎn)的情況*/ { if(p!=x) { q=(gnode *)malloc(sizeof(gnode))。 q=p。 } else q=NULL。/*刪除線性表頭中的x得到s*/ if(s==NULL)/*新表的表頭為空的情況*/ { p=plink。/*從表尾的表頭產(chǎn)生t*/ q=(gnode *)malloc(sizeof(gnode))。 qlink=NULL。/*將t作為新表表頭*/ if(plink!=NULL)/*若還有后繼元素,刪除x后作為新表表尾*/ { delall(plink,x,t)。 } } else q=NULL。/*刪除表尾中的x得到t*/ q=(gnode *)malloc(sizeof(gnode))。 q=s。 } }}}void main(){ gnode *g1,*g2。 if(g1=NULL) printf(g1:NULL\n)。 printf(\n)。a39。 printf(從g1中刪除39。得到g2\n)。 printf(\n)。typedef struct node{ elemtype data。}BTree。void creatree(BTree *b,char *str)/*根據(jù)嵌套括號(hào)表示法的字符串*str生成鏈接存儲(chǔ)的二叉樹(shù)*/{BTree *stack[MaxSize],*p。/*top為棧指針,k指定是在左還是右孩子,j為str指針*/char ch。 ch=str[j]。\039。(39。stack[top]=p。break。)39。break。,39。break。 pdata=ch。 if(b==NULL)/*根節(jié)點(diǎn)*/ b=p。break。break。ch=str[j]。 int level[MaxSize][2],top,n,i,width=4。 if(b!=NULL) {top=1。/*根節(jié)點(diǎn)入棧*/ level[top][0]=width。/*2表示是根*/ while(top0) { p=stack[top]。 switch(level[top][1]) { case 0:type=39。break。139。/*右節(jié)點(diǎn)之前輸出(1)*/ case 2:type=39。break。i=n。 printf(%d (%d),pdata,type)。i=MaxWidth。 printf(\n)。 if(pright!=NULL) {/*將右子樹(shù)根節(jié)點(diǎn)入棧*/ top++。 level[top][0]=n+width。 }/*表示是右子樹(shù)*/ if(pleft!=NULL) { top++。 level[top][0]=n+width。/*0表示是左子樹(shù)*/ } } }}void printree(BTree *b)/*以嵌套括號(hào)表示法輸出一棵二叉樹(shù)*/{ if(b!=NULL) { printf(%d,bdata)。 printree(bleft)。 printree(bright)。 } }}void preorder(BTree *b)/*先序遍歷的遞歸算法*/{ if(b!=NULL) { printf(%d ,bdata)。 preorder(brigh
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1