µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

ʵÑé¶þ Óï·¨·ÖÎö£¨Ëã·ûÓÅÏÈ£©(2)

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2026/8/14 1:10:04 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

±àÒëÔ­ÀíʵÑ鱨¸æ

ʵÑéÃû³Æ£ºÓï·¨·ÖÎöÆ÷Éè¼Æ

רҵ£º¼ÆËã»ú¿ÆÑ§Óë¼¼Êõ ÐÕÃû£ºÌïÀòÀò ѧºÅ£º201117906

Óï·¨·ÖÎö¡ªËã·ûÓÅÏÈ·ÖÎö³ÌÐò

Ò»£®ÊµÑéÒªÇó

¢Å Ñ¡Ôñ×îÓдú±íÐÔµÄÓï·¨·ÖÎö·½·¨£¬ÈçËã·ûÓÅÏÈ·¨¡¢µÝ¹é×Ó³ÌÐò·¨»òLR·ÖÎö·¨

¢Æ Ñ¡Ôñ¶Ô¸÷ÖÖ³£¼û³ÌÐòÓïÑÔ¶¼ÓõÄÓï·¨½á¹¹£¬È縳ֵÓï¾ä£¨ÓÈÖ¸±í´ïʽ£©×÷Ϊ·ÖÎö¶ÔÏ󣬲¢ÇÒÓëËùÑ¡Óï·¨·ÖÎö·½·¨Òª±È½ÏÌùÇС£

¢Ç ʵϰʱ¼äΪ6ѧʱ¡£

¶þ£®ÊµÑéÄÚÈݼ°ÒªÇó

£¨1£©¸ù¾Ý¸ø¶¨ÎÄ·¨£¬ÏÈÇó³öFirstVtºÍLastVt¼¯ºÏ£¬¹¹ÔìËã·ûÓÅÏȹØÏµ±í£¨ÒªÇóËã·ûÓÅÏȹØÏµ±í Êä³öµ½ÆÁÄ»»òÕßÊä³öµ½Îļþ£©£»

£¨2£©¸ù¾ÝËã·¨ºÍÓÅÏȹØÏµ±í·ÖÎö¸ø¶¨±í´ïʽÊÇ·ñÊǸÃÎÄ·¨Ê¶±ðµÄÕýÈ·µÄËãÊõ±í´ïʽ£¨ÒªÇóÊä³ö¹éÔ¼¹ý³Ì£©

£¨3£©¸ø¶¨±í´ïʽÎÄ·¨Îª£º G(E¡¯): E¡¯¡ú#E#

E¡úE+T | T T¡úT*F |F F¡ú(E)|i

(4)·ÖÎöµÄ¾ä×ÓΪ: (i+i)*iºÍi+i)*i

Èý£®³ÌÐòÉè¼ÆË¼Ï뼰ʵÏÖ²½Öè

³ÌÐòµÄÉè¼ÆË¼Ï룺

°´ÕÕ±àÒëÔ­Àí½Ì²ÄÌṩµÄËã·¨£¬±¾³ÌÐòµÄÉè¼ÆÖ÷ҪʵÏÖÈý¸öÖ÷ÒªµÄ¹ý³Ì£º £¨1£© Çó½âFristVT¼¯ºÍLastVT¼¯£ºÀûÓÃCStringÊý×é´æ·ÅVT¼¯£¬ÀûÓÃÊý×é

ϱê¶ÔÓ¦·ÇÖÕ½á·û¹ØÏµ£»

£¨2£© Êä³öËã·ûÓÅÏÈ·ÖÎö±í£ºÀûÓÃMFCÖеÄClistCtrl¿Ø¼þÊä³öÏÔʾËã·û±í£¬

±ÈÀûÓöþάÊý×é¶ÔÓ¦ÆäÔÚÄÚ´æÖеĹØÏµ¡£

£¨3£© ÀûÓÃËã·ûÓÅÏÈ·ÖÎö±í½øÐйéÔ¼£º¸ù¾Ý½Ì²ÄËù¸øËã·¨£¬²¢¶ÔÆä½øÐÐʵÏÖÔÚ

ÆÁÄ»ÉÏÊä³ö¹éÔ¼¹ý³Ì¡£

ʵÏÖ²½Ö裺

1¡¢Îª³ÌÐò¸÷±äÁ¿Éè¼Æ´æ´¢ÐÎʽ£¬¾ßÌåÉè¼ÆÈçÏÂËùʾ£º

CString m_strTElem[T_LEN]; CString m_strNTElem[NT_LEN]; CMapStringToPtr m_mapProdu;

//ÖÕ½á·û //·ÇÖÕ½á·û //´æ·Å²úÉúʽ

CMapStringToPtr m_mapProduEX; CString m_strFristVT[NT_LEN]; CString m_strLastVT[NT_LEN]; int m_nPriSheet[T_LEN+1][T_LEN+1]; Find m_F[STACK_LEN]; CStrack m_stack;

//´æ·ÅÀ©Õ¹²úÉúʽ //fristVT¼¯ //lastVT¼¯

//ÓÅÏÈ±í£»ÎÞÇî´ó±íʾ¿Õ°×£¬-1±íʾСÓÚ£¬0±íʾÏàµÈ£¬1±íʾ´óÓÚ //boolÊý×é //¶ÑÕ»

2¡¢Îª³ÌÐòÉè¼Æ¸÷¸ö¹ý³Ì£¬¾ßÌåÉè¼ÆÈçÏÂËùʾ£º

void CreateFristVT(Find* F); //Ϊÿһ¸ö·ÇÖÕ½á·û´´½¨FristVT¼¯ void CreateLastVT(Find* F); //Ϊÿһ¸ö·ÇÖÕ½á·û/´´½¨LastVT¼¯ void SearchPForFirtVT(Find& f); //ËÑË÷ÐÎÈçP->a¡­.»òP->Qa¡­. µÄ²úÉúʽ void SearchQForFristVT(void); //ËÑË÷ÐÎÈçP->....QµÄ²úÉúʽ void SearchPForLastVT(Find& f); //ËÑË÷ÐÎÈçP->...aQ»òP->...aµÄ²úÉúʽ void SearchQForLastVT(void); //ËÑË÷ÐÎÈçP->....QµÄ²úÉúʽ OnBnClickedBtnAnasysic(); //µã»÷°´Å¥Æô¶¯·ÖÎö

3¡¢¶Ô¸÷¸ö¹ý³Ì½øÐÐʵÏÖ£»

4¡¢µ÷ÊÔÔËÐв¢¼ìÑéʵÑé½á¹û£¬½á¹ûÈçͼ2.1ºÍ2.2Ëùʾ£º

ͼ2.1 ·ÖÎö³É¹¦Í¼

ͼ2.2 ·ÖÎöʧ°Üͼ

ËÄ£®³ÌÐòÔ´Âë

²úÉúʽ³õʼ»¯£º

//²úÉúʽ

CString* str = new CString; *str = _T(\

m_mapProdu.SetAt(_T(\ CString* str1 = new CString; *str1 = _T(\

m_mapProdu.SetAt(_T(\CString* str2 = new CString ; *str2 = _T(\

m_mapProdu.SetAt(_T(\CString* str3 = new CString;

*str3 = _T(\ m_mapProduEX.SetAt(_T(\CString* str4 = new CString; *str4 = _T(\

m_mapProduEX.SetAt(_T(\CString* str5 = new CString ; *str5 = _T(\

m_mapProduEX.SetAt(_T(\

³ÌÐòÖ÷Òª´úÂ룺

void CGrammarAnalysisDlg::InitFind(void) {

int i,j; int k = 0;

while(k

{

for(i=0;i

for(j=0;j

m_F[k].m_strNTerm = m_strNTElem[i];

ËÑË÷¸ü¶à¹ØÓÚ£º ʵÑé¶þ Óï·¨·ÖÎö£¨Ëã·ûÓÅÏÈ£©(2) µÄÎĵµ
ʵÑé¶þ Óï·¨·ÖÎö£¨Ëã·ûÓÅÏÈ£©(2).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c6e6lf7z31z9acj39pwbi_1.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top