演算法崗位之資料結構字串3

2021-10-03 09:11:43 字數 770 閱讀 1550

中綴表示式轉字尾表示式

對於中綴表示式,遇到運算元直接將其輸出,如果遇到操作符和左括號全部壓入棧中,若遇到右括號則將棧中元素全部彈出,直到遇到左括號為止。壓棧過程中,

1)如果讀到運算子優先順序大於等於棧頂運算子優先順序,則將當前讀到運算子入棧

2)如果讀到運算子優先順序低於棧頂運算子優先順序,則將棧中的元素依次輸出直到遇到更低優先順序的操作符為止,再將讀到運算子入棧.

字尾表示式的計算

從左向右掃瞄,遇到數字壓棧,遇到操作符,彈出棧頂的兩個元素,先彈出的元素在右邊,後彈出來的在左邊,進行計算後,將結果壓棧,再往後掃瞄,直到掃瞄結束,輸出棧頂元素,即為最終結果。

中綴表示式轉字首表示式

字首表示式的計算

對字首表示式從後向前掃瞄,設定乙個運算元棧,如果是運算元,則將其直接入棧,如果是操作符,則從棧中彈出操作符對應的運算元進行運算,並將計算結果壓棧。直至從右到左掃瞄完畢整個字首表示式,這時運算元棧中應該只有乙個元素,該元素的值則為字首表示式的計算結果。

中綴表示式轉字首表示式和中綴表示式轉字尾表示式的區別

中綴表示式轉字首表示式從右往左掃瞄,而中綴表示式轉字尾表示式從左往右掃瞄

當當前運算子優先順序小於棧頂運算子優先順序時,棧頂運算子出棧,中綴表示式轉字首表示式出棧時優先順序相同的不出棧,而中綴表示式轉字尾表示式時優先順序相同的也出棧.

資料結構演算法之字串

字串是由若干個字元組成,在c c 中常常使用 0 字元作為結尾,這樣很方便的為我們查詢到字串的最後乙個字元。為了節省空間,c c 常常將字串單獨放到乙個記憶體空間中,當幾個指標賦予相同的變數時,實際上他們會指向相同的位址空間 實現乙個函式將字串中的空格替換成 20 實現方式 方式一 如果是建立新的字...

資料結構之字串

夢醒瀟湘love 1 串的相關概念 1 串 string 是由零個或多個字元組成的有限序列,又名叫字串。2 串中含有的字元資料稱為串的長度,零個字元的串稱為空串 null string 它的長度為零。3 子串與主串,串中任意個數的連續字元組成的子串行稱為該串的子串,相應地,包含子串的串稱為主串。4 ...

資料結構之 字串

一 簡介 字串或者說串 string 是由數字 字母。下劃線組成的一串字元。一般可以記為s a0a1a2a3.an n 0並且n是有限非負整數 從資料結構上來看,用c 來說,字串是一種特殊的線性表,也就是裡面的每個元素都是字元的一種線性表。可以是用陣列實現,或者鍊錶實現。具體的優缺點可以參照陣列和鍊...