機試之資料結構STL詳解

2021-10-04 22:22:24 字數 1822 閱讀 5624

pair的常見用法詳解:

algorithm標頭檔案下常用函式介紹:

//機試stl之stack——括號匹配 

#include

#include

#include

#include

#include

using namespace std;

int main()

else

if(str[i]

==')'

)else}}

while

(!brackets.

empty()

) cout<

cout<

}return0;

}

例題:簡單計算器

題目描述

題目描述

讀入乙個只包含 +, -, *, / 的非負整數計算表示式,計算該表示式的值。

輸入描述:

測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。

輸出描述:

對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位。

示例1輸入

1 + 2

4 + 2 * 5 - 7 / 110輸出

3.00

13.36

//機試stl之stack——表示式求值 

#include

#include

#include

#include

#include

using namespace std;

int priority

(char c)

else

if(c ==

'$')

else

if(c ==

'+'|| c ==

'-')

else

} double strtonum

(string str, int &index)

return number;

}double calculate

(double x,double y,char operation)

else

if(operation ==

'-')

else

if(operation ==

'*')

else

if(operation ==

'/')

return result;

}int main()

//宣告與初始化

int index =0;

stack operation;

stack number;

operation.

push

('#');

str +=

'$';

while

(index < str.

size()

)elseif(

isdigit

(str[index]))

else

else}}

printf

("%.2f\n"

,number.

top())

;}return0;

}

機試常見的資料結構

北航的機試要求用標準c程式設計,所以很多c 的庫都沒法用。因此我使用最簡單的 實現了幾個常見的資料結構。標準c庫參考 1.陣列實現的棧。此處棧的元素預設為int,也可以改為其他。struct stack void push int x int pop bool isempty bool isfull...

資料結構 STL

棧 先入後出 filo 的一種資料結構。常見操作 模擬火車調頭,進製轉換,表示式求值,單調棧 陣列形式 理解 const int num 1e6 10 定義棧的大小,可自由改變 int stac num 乙個整型棧 int top 棧頂指標 int main top 1 設定棧頂指標為 1 stac...

資料結構 stl

uva 11997 題意 給你乙個數k,並且給你k組數,每組k個數,現在在每組中任取乙個數,然後相加可以得到乙個和,這樣的和共有k k個,要求輸出所有可能的和值中最小的k個。思路 問題1 如果只有a,b,c三個大小為k的陣列,我們如何求 和 能獲得最小的前k個和呢?我們只需要將a和b陣列求出前k小的...