資料結構 表示式求解 完整版

2021-10-09 17:34:27 字數 1224 閱讀 6216

資料結構之表示式求解----完整版(無敵完整版)

(1) 運算子包括:+、-、*、-、^(乘方)、括號

(2)實數(包括多位整數各種);

表示式的書寫形式

中綴--日常寫的,但是他的計算方式較為複雜

字首--計算機一般儲存結構

字尾--日常計算的方式----一遍編寫計算器都是通過字尾表示式+棧來解決--其符號優先順序大於左邊也高於右邊,則可以計算此運算子

#include typedef long long ll;

using namespace std;

const int maxsize=100005;

struct node_optr

optr; ///存運算子的

struct node_oprd

oprd; ///存運算元據的

void exp_trans(char exp,char post_exp)///字首表示式轉化為字尾表示式

else if(ch==')')///右括號的話就是把oprd裡面的資料全部pop出來,直到為empty或者遇到「左括號」

optr.top--;

}else if(ch=='+'||ch=='-')

optr.data[++optr.top]=ch;

}else if(ch=='*'||ch=='/')

optr.data[++optr.top]=ch;

}else if(ch=='^')///優先度很高

else

i--;

post_exp[j++]='#';///斷開整數

}ch=exp[i++];

}while(optr.top!=-1)

post_exp[optr.top--]=='\0';///結束標誌

}void cal_exp(char post_exp)

else if(ch=='-')

else if(ch=='*')

else if(ch=='/')

else

}else if(ch=='^')

ch=post_exp[i++];

}oprd.data[++oprd.top]=num;

//printf("num %d\n",num);

}ch=post_exp[i++];

}}int main()

完整版的日期驗證表示式

判斷日期格式的正規表示式,基本上把閏年和2月等的情況都考慮進去了 yyyy mm dd hh mm ss 標準格式驗證 1 6 9 2 9 d d 0?13578 1 02 0?1 9 12 d 3 01 1 6 9 2 9 d d 0?13456789 1 012 0?1 9 12 d 30 1 ...

微信小程式之正規表示式(完整版)

手機號碼驗證 if 13 0 9 14 0 9 15 0 9 17 0 9 18 0 9 d test 你要驗證的手機號 郵箱驗證 if a za z0 9 a za z0 9 a za z0 9 a za z0 9 test 你要驗證的郵箱 中英文姓名驗證 沒有長度限制,考慮到少數名族和外國人名字...

Jmeter關聯之正規表示式提取器(完整版)

在效能測試中,若想提取上乙個請求的結果,作為下一次請求的引數,則需要使用關聯 這篇部落格主要講jmeter正規表示式提取器的各種用法。首先正規表示式提取器位於後置處理器中,引用名稱 你設定的jmeter變數,這裡你填寫subjectid,之後用則 正規表示式 括起來的部分就是要提取的。匹配任何字串。...