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

正文內(nèi)容

嚴(yán)蔚敏c語言版數(shù)據(jù)結(jié)構(gòu)習(xí)題集答案(參考版)

2025-06-29 08:55本頁面
  

【正文】 }//HString_Concat int HString_Replace(HString amp。j++,i++) [i1]=[j1]。for(j=1。i=。=malloc((+)*sizeof(char))。 //成功匹配}//LString_Palindrome void HString_Concat(HString s1,HString s2,HString amp。 i=0。 if(pch[i]!=c) return 0。 //將后半段的字符與棧中的元素相匹配 if(k=) Push(S,pch[i])。{k++)for(k=1。 //i指示元素在塊中的下標(biāo),k指示元素在整個序列中的序號(從1開始)i=0。InitStack(S)。}//Find_Char int LString_Palindrome(LString L)//判斷以塊鏈結(jié)構(gòu)存儲的串L是否為回文序列,是則返回1,否則返回0{if(i==CHUNKSIZE) return 0。pch[i]!=c。iCHUNKSIZEamp。=0。 //修改串長 rnext=q。 pnext=。 } //p的后半部分和r的前半部分的字符改為無效字符39。pch[j]=39。 jCHUNKSIZE。 39。ji。 r=(Chunk*)malloc(sizeof(Chunk))。 =。 !(i=Find_Char(p,c))) p=pnext。while(pamp。t,LString amp。return p。 qch=rch。 qnext=(LStrNode*)malloc(sizeof(LStrNode))。{i++,r=rnext)for(i=1。 //找到start所對應(yīng)的結(jié)點指針rstart。q=p。return p。 qch=rch。 qnext=(LStrNode*)malloc(sizeof(LStrNode))。{r=rnext)for(r=tnext。}//for //復(fù)制串s q=qnext。 r。p=malloc(sizeof(LStrNode))。}//StringLen LString * Concat(LString s,LString t)//連接串s和串t形成新串,并返回指針{p=pnext,i++)。for(i=0,p=snext。}//StringCompare int StringLen(LString s)//求串s的長度(元素個數(shù)){else if(!q) return pch。!q) return 0。if(!pamp。pch==qch。qamp。pamp。pnext=NULL。} prenext=p。 p=(LStrNode*)malloc(sizeof(LStrNode))。{while(q)} pch=qch。{p=pnext,q=qnext)amp。for(p=snext,q=tnext。s,LString t)//,串s業(yè)已存在.{qnext=NULL。} qnext=r。 r=(LStrNode*)malloc(sizeof(LStrNode))。{p=pnext)for(q=s,p=tnext。 //鏈串結(jié)構(gòu) void StringAssign(LString amp。 LStrNode *next。 return n。}//for }s[0]=t[0]。 //左移刪除k=s[0]t[0]。 j++)。amp。 for(j=1。{i++)for(n=0,i=1。s,Stringtype t)//從串s中刪除所有與t相同的子串,并返回刪除次數(shù){ if(kt[0]) r[++r[0]]=c。 //判斷當(dāng)前字符是否包含在t中t[k]!=c。k=t[0]amp。 j++)。amp。 for(j=1。 i=s[0]。r[0]=0。r)//求所有包含在串s中而t中沒有的字符構(gòu)成的新串r{%d\n,T[j].ch,T[j].num)。 printf(%c:j++)for(j=0。}//for if(T[j].ch) T[j].num++。 //查找當(dāng)前字符c是否已記錄過amp。 j=0。 i=S[0]。mytype T[MAXSIZE]。void StrAnalyze(Stringtype S)//統(tǒng)計串S中字符的種類和個數(shù){ int num。 return n。}//for }//ifi+=V[0]。 S[i+l1]=V[l]。l++)for(l=1。 l=S[0]+V[0]T[0]。 S[i+l1]=V[l]。l++)for(l=1。 l=i+T[0]。 S[i+l1]=V[l]。l++) //新子串長度與原子串相同時:直接替換for(l=1。if(T[0]==V[0]) { if(kT[0]) //找到了與T匹配的子串:分三種情況處理S[j]==T[k]。T[k]amp。 i=S[0]T[0]+1。S,Stringtype T,Stringtype V)。else return s[i]t[i]。else if(is[0]) return t[i]。amp。i++)。amp。amp。for(i=1。}//StrAssign char StrCompare(Stringtype s,Stringtype t)//串的比較,st時返回正數(shù),s=t時返回0,st時返回負(fù)數(shù){chars[i]。T,char charsamp。return OK。pop(s,new)。}//for } StrAssign(c,Concat(t,a))。 pop(s,b)。 pop(s,a)。 if(r為字母) push(s,r)。 i=Strlen(str)。Initstack(s)。new)//把前綴表達(dá)式str轉(zhuǎn)換為后綴式new{ n++。 //把head,tail連接為新串 StrAssign(tail,SubString(S,i+Strlen(t),Strlen(s)iStrlen(t)+1))。 i=Strlen(s)Strlen(t)+1。運行時會出現(xiàn)什么結(jié)果? int Delete_SubString(Stringtype amp。face39。ace39。place39。}//Replace分析:i+=Strlen(V)。 n++。 //當(dāng)前指針跳到插入串以后 StrAssign(S,Concat(S,tail))。 StrAssign(tail,SubString(S,i+Strlen(T),Strlen(S)iStrlen(T)+1))。 i=Strlen(S)Strlen(T)+1。S,Stringtype T,Stringtype V)。 if(kStrlen(t)) StrAssign(r,Concat(r,c))。 //判斷當(dāng)前字符是否包含在t中StrCompare(c,SubString(t,k,1))。k=Strlen(t)amp。 j++)。amp。 for(j=1。 i=Strlen(s)。)。StrAssign(r,39。r)//求所有包含在串s中而t中沒有的字符構(gòu)成的新串r{ StrAssign(r,Concat(r,c))。 i。)。StrAssign(r,39。r)//求s的逆串r{ DeDQueue(Q)。 EnDQueue(Q,*r,1)。 EnDQueue(Q,*r,0)。 S39。 printf(D)。 P39。 InitDQueue(Q)。S39。H39。P39。return OK。x=[]。 //隊列空Q,int amp。return OK。} //插入在隊頭 =()%MAXSIZE。{else} //插入在隊尾 []=x。{if(x=avr) //根據(jù)x的值決定插入在隊頭還是隊尾if((+1)%MAXSIZE==) return OVERFLOW。Q,int x)//輸出受限的雙端隊列的入隊操作{ printf(%d,sum)。 //求第i項的值存入隊列中并取代已無用的第一項 j++) sum+=[(m+j)%k]。 for(j=0。 m=i%k。{i++)for(i=k。ik。[k1]=1。ik1。InitCyQueue(Q)。}//Palindrome_Test void GetFib_CyQueue(int k,int n)//求k階斐波那契序列的前n+1項{ if(a!=b) return ERROR。 Pop(S,a)。{while(!StackEmpty(S))} //同時使用棧和隊列兩種結(jié)構(gòu) Push(S,c)。{)while((c=getchar())!=39。InitStack(S)。}//DeCyQueue int Palindrome_Test()//判別輸入的字符串是否回文序列,是則返回1,否則返回0{head=(+1)%MAXSIZE。Q,int amp。return OK。[]=x。if(==MAXSIZE) return OVERFLOW。Q,int x)//帶length域的循環(huán)隊列入隊算法{return OK。 //隊列空x=[]。==0) return INFEASIBLE。if(==amp。x)//帶tag域的循環(huán)隊列出隊算法{ //隊列滿}//EnCyQueue Status DeCyQueue(CyQueue amp。=(+1)%MAXSIZE。 return OVERFLOW。==1) //tag域的值為0表示空,1表示滿if(==amp。Q,int x)//帶tag域的循環(huán)隊列入隊算法{return OK。Qnextnext=pnext。p=Qnextnext。 //隊列已空//修改尾指針} Status DeCiQueue(CiQueue amp。Qnext=p。 //直接把p加在Q的后面pdata=x。}//InitCiQueue void EnCiQueue(CiQueue amp。Q=(CiLNode*)malloc(sizeof(CiLNode))。Q)//初始化循環(huán)鏈表表示的隊列Q{return p。 else return sqrt_recurve(A,(p+A/p)/2,e)。return OK。} }//while pop(s,t)。 { while(!StackEmpty(s)) n=b。 b=n/2。 int b。 InitStack(s)。{elseif(n0) return ERROR。}//F_recursive Status F_nonrecursive(int n,int s)//非遞歸算法{ s=n*r。 if(n==0) s=n+1。}//g Status F_recursive(int n,int amp。else return ERROR。amp。n=0) s=0。if(m==0amp。s)//求遞歸函數(shù)g的值s{return OK。pop(s,new)。}//while push(s,c)。 pop(s,b)。 pop(s,a)。 if(*p為字母) push(s,*p)。{while(*p) //s的元素為stringtype類型p=str。new)//把逆波蘭表達(dá)式str轉(zhuǎn)換為波蘭式new{return r。 p++。 }//else r=pute(b,*p,a)。pop(s,a)。 { else InitStack(s)。 p++。 }//else}//else //運算符在棧內(nèi)遵循越往棧頂優(yōu)先級越高的原則 *(q++)=c。 if(*p優(yōu)先級比c高) push(s,*p)。 if(*p是字母)) *q++=*
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1