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

正文內容

數(shù)據(jù)結構設計報告-棧的應用-表達式求值的設計(編輯修改稿)

2025-02-17 16:36 本頁面
 

【文章內容簡介】 /* */ return 1。}/******檢查堆棧是否為空******/int IsEmpty(Stack S){ return(SNext==NULL)。 }/******檢查float堆棧是否為空******/int FIsEmpty(FStack S){ return(SNext==NULL)。 }/******彈出棧頂元素******/void Pop(Stack S){ PtrToNode FirstCell。 if (IsEmpty(S)) perror(Empty Stack)。 else{ FirstCell = SNext。 SNext = SNextNext。 free(FirstCell)。 }}/******彈出float棧頂元素******/void FPop(FStack S){ Ptr_Fn FirstCell。 if (FIsEmpty(S)) perror(Empty Stack)。 else{ FirstCell = SNext。 SNext = SNextNext。 free(FirstCell)。 }}/******將堆棧置空******/void MakeEmpty(Stack S){ if (S == NULL) perror(Must use Createstack first)。 else while (!IsEmpty(S)) Pop(S)。}/******將float堆棧置空******/void FMakeEmpty(FStack S){ if (S == NULL) perror(Must use Createstack first)。 else while (!IsEmpty(S)) Pop(S)。}/******元素進棧******/void Push(char X, Stack S){ PtrToNode TmpCell。 TmpCell = (PtrToNode)malloc(sizeof(struct Node))。 if (TmpCell == NULL) perror(Out of Space!)。 else{ TmpCellElement = X。 TmpCellNext = SNext。 SNext = TmpCell。 }}/******float元素進棧******/void FPush(float X, FStack S){ Ptr_Fn TmpCell。 TmpCell = (Ptr_Fn)malloc(sizeof(struct FNode))。 if (TmpCell == NULL) perror(Out of Space!)。 else{ TmpCellElement = X。 TmpCellNext = SNext。 SNext = TmpCell。 }}/******返回棧頂元素******/char Top(Stack S){ if (!IsEmpty(S)) return SNextElement。 perror(Empty Stack)。 exit(1)。 return 0。}/******返回float棧頂元素******/float FTop(FStack S){ if (!FIsEmpty(S)) return SNextElement。 perror(Empty Stack)。 exit(1)。 return 0。}/******將堆棧元素倒置******/void Reverse(Stack Rev){ Stack Tempstack。 Tempstack = malloc(sizeof(struct Node))。 TempstackNext = NULL。 while (!IsEmpty(Rev)){ Push(Top(Rev),Tempstack)。 /*將元素壓棧到一個臨時堆棧*/ Pop(Rev)。 } RevNext = TempstackNext。 /*指向新的堆棧*/}/*******Whereat 說明:Whereat 記錄了操作數(shù)和運算符號的位置,用A和B區(qū)分。A = operand, B = operator. (例如 1+2轉換成12+,在whereat中的形式應該是 AAB)OpHolder說明:Char類型的堆棧Opholder用來保存運算符號。******//******將中綴表帶式轉換為后綴表達式******/void ConvertToPost(FILE *In, Stack Whereat, FILE *Temp){ Stack OpHolder。 char holder。 char lastseen。 int digitcounter = 0。 /*操作數(shù)的計數(shù)器*/ OpHolder = malloc(sizeof(struct Node))。 /*初始化*/ OpHolderNext = NULL。 holder=getc(In)。 lastseen = 39。@39。 /*用來防止輸入格式錯誤,例如兩個小數(shù)點*/ putc(39。 39。,Temp)。 while ((holder !=39。\n39。) amp。amp。 (holder != EOF)){ if (holder == 39。 39。){ digitcounter = 0。 } else if ( IsOperator(holder) == 1){ /*如果holder不是操作數(shù)或運算符號*/ PrintError = 1。 } else if (IsOperator(holder)==0){ if ((lastseen == holder) amp。amp。 (lastseen == 39。.39。)){ /*錯誤處理*/ PrintError = 1。 } else lastseen = holder。 if (digitcounter == 0){ Push(39。A39。,Whereat)。 /*進棧*/ digitcounter++。 /*計數(shù)器加一*/ putc(39。 39。,Temp)。 } putc(holder,Temp)。 } else{ digitcounter = 0。 if ((lastseen == holder) amp。amp。 (lastseen != 39。(39。) amp。amp。 (lastseen != 39。)39。)) /*(情況特殊對待*/ PrintError = 1。 else lastseen = holder。 if(IsEmpty(OpHolder)==1){ /*當OpHolder為空*/ Push(holder,OpHolder)。 } else if(OperatorValue(Top(OpHol
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1