日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1203正规式转换为有穷自动机

發(fā)布時(shí)間:2023/12/13 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1203正规式转换为有穷自动机 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 #include<stdio.h>2 #include <ctype.h>3 #define ok 14 #define error 05 #define MAXREGLUARLONG 406 #define MAXSTATELONG 40 7 #define MAXCAHRSLONG 40 8 typedef int state;9 int iCurrentState=0; //初態(tài)以1開始10 int iPreState=0;11 int iLastForkState=0;12 int iForkState=0;13 int iMaxState=0;14 char cRegluarSting[MAXREGLUARLONG]; //輸入的正規(guī)式字符串15 char cCharSet[MAXCAHRSLONG]; //字符集16 int iStateMatrix[MAXSTATELONG][MAXCAHRSLONG]; //狀態(tài)轉(zhuǎn)換矩陣17 state vStoreRegluarSting()//把字符串讀入一個(gè)緩沖區(qū)中18 {19 scanf("%s",cRegluarSting);20 return ok;21 }22 state vPreProcessRegluarSting()23 //對字符串進(jìn)行預(yù)處理,去掉字符串里面的對分析不產(chǎn)生影響24 {25 int i=0;26 while(cRegluarSting[i]!='\0')27 {28 if(cRegluarSting[i]=='*')29 {30 int j=i+1;31 while(cRegluarSting[j-1]!='\0')32 { 33 cRegluarSting[j-1]=cRegluarSting[j++]; 34 }35 }36 i++;37 }38 return ok;39 }40 void vConstructStateMatrix(char cChar,int istate)//構(gòu)造狀態(tài)轉(zhuǎn)換矩陣41 {42 int i;43 for(i=0;cCharSet[i]!='\0';i++)44 if(cChar==cCharSet[i])45 break;46 cCharSet[i]=cChar;47 iStateMatrix[iPreState][i]=istate;48 }49 void vAanalyseRegluarSting()//對字符串進(jìn)行從左到右的分析與處理50 {51 int i=0;52 for(i=0;cRegluarSting[i]!=0;i++)53 {54 if(cRegluarSting[i]=='(') //NFA出現(xiàn)開始分叉情況55 {56 int iTheFirstl=0;57 int iCharNumBeforl=0;58 iForkState=iCurrentState;59 while(cRegluarSting[i]!=')')60 { 61 i++;62 if(isalpha(cRegluarSting[i]))63 {64 if(cRegluarSting[i+1]==')')65 iCurrentState=iLastForkState;66 else67 iCurrentState++;68 iCharNumBeforl++; vConstructStateMatrix(cRegluarSting[i],iCurrentState);69 iPreState=iCurrentState;70 if(iCurrentState>iMaxState)71 iMaxState=iCurrentState;72 }73 if(cRegluarSting[i]=='|')74 {75 iPreState=iForkState;76 if(iTheFirstl==0)77 {78 iLastForkState=iCurrentState; 79 iTheFirstl++;80 }81 if(iCharNumBeforl==1&&cRegluarSting[i+2]=='|')82 iCurrentState=iForkState;83 iCharNumBeforl=0;84 }85 if(cRegluarSting[i]==')')86 {87 iPreState=iForkState=iLastForkState;88 iCurrentState=iMaxState;89 }90 }91 }92 else93 { 94 if(isalpha(cRegluarSting[i]))95 {96 iCurrentState++; vConstructStateMatrix(cRegluarSting[i],iCurrentState);97 iPreState=iCurrentState;98 if(iCurrentState>iMaxState)99 iMaxState=iCurrentState; 100 } 101 } 102 } 103 } 104 void vPrintfStateProjectFunction() 105 { 106 int icCharSetPointer; 107 int iPreStatePointer; 108 for 109 (iPreStatePointer=0;iPreStatePointer<MAXSTATELONG;iPreStatePointer++) 110 for(icCharSetPointer=0;icCharSetPointer<MAXSTATELONG;icCharSetPointer++) 111 if(iStateMatrix[iPreStatePointer][icCharSetPointer]>0) printf("&(%d,%c)=%d\n",iPreStatePointer,cCharSet[icCharSetPointer],iStateMatrix[iPreStatePointer][icCharSetPointer]); 112 } 113 void vPrintfNfa()//輸出NFA 114 { 115 int iStateNumble; 116 int i=0; 117 printf("NFA的形式為:(S,$,&,S0,F)\n\n以下為NFA的具體集合內(nèi)容:\n\n"); 118 printf("字符集$為:{"); 119 while(cCharSet[i]!=0) 120 if(cCharSet[i+1]==0) 121 printf("%c",cCharSet[i++]); 122 else 123 printf("%c,",cCharSet[i++]); 124 printf("}\n"); 125 printf("\n狀態(tài)集S為:{"); 126 for (i=0;i<=iMaxState;i++) { 127 if(i==iMaxState) 128 printf("%d",i); 129 else 130 printf("%d,",i); 131 } 132 printf("}\n\n"); 133 vPrintfStateProjectFunction(); 134 printf("\n初態(tài)集S0為:{0}\n\n"); 135 printf("終態(tài)集F為:{%d}",iMaxState); 136 } 137 void main() 138 { 139 vStoreRegluarSting(); 140 vPreProcessRegluarSting(); 141 vAanalyseRegluarSting(); 142 vPrintfNfa(); 143 }

轉(zhuǎn)載于:https://www.cnblogs.com/RSTART/p/5017474.html

總結(jié)

以上是生活随笔為你收集整理的1203正规式转换为有穷自动机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色伊人av| 蜜臀99久久精品久久久久小说 | 国产精品igao视频 | 欧美怡红院视频 | 天天色天天干天天 | 日本a视频在线观看 | 黑人番号 | 日本中文字幕高清 | 欧美日韩91 | 成人羞羞网站 | 国产精品久久久久久久久久免费看 | 国产在线视频你懂的 | 国产乱码久久久久久 | 亚洲一区二区在线视频 | 综合色站导航 | 黄网站色 | 一起草国产 | 成人看片网站 | 美女脱得一干二净 | 午夜美女福利 | 欧美 亚洲 另类 激情 另类 | 国产三区视频 | 深爱激情丁香 | 国产一区二区免费在线 | 一起草视频在线播放 | av永久免费网站 | 国产宾馆实践打屁股91 | 密桃av在线 | 欧美大片黄色 | 欧美性网站 | 日本男女网站 | freesexvideos第一次| 亚洲自拍中文字幕 | 欧美性生交大片免费看 | 人人射视频 | 毛片亚洲av无码精品国产午夜 | 91捆绑91紧缚调教91 | 欧美一级α片 | 亚洲精品社区 | 操操操操网 | 婷婷色婷婷开心五月四房播播 | 久久99免费视频 | 国产成人亚洲欧洲在线 | 中文字幕一区二区久久人妻 | 一级美女黄色片 | 精品免费囯产一区二区三区 | 欧美午夜精品一区二区三区电影 | av大全在线 | 亚洲成人免费在线观看 | 884aa四虎影成人精品一区 | 片黄在线观看 | 亚洲女同在线 | 精品免费视频一区二区 | 亚洲成人av免费在线观看 | 精品无码一区二区三区 | 亚洲大尺度av | 午夜精品视频一区二区三区在线看 | 成人看片黄a免费看视频 | 欧美日本在线视频 | 欧美日韩制服 | 国模无码视频一区二区三区 | 日韩草逼视频 | 曰本三级日本三级日本三级 | 国产性久久| 人人爽人人干 | 花样视频污 | xxx视频在线观看 | 国产黄大片在线观看画质优化 | 高潮videossex高潮 | 三年中文免费观看大全动漫 | 欧美成人黄色小说 | 欧美bdsm调教视频 | 黄色观看网站 | 99国产精品99久久久久久粉嫩 | 国产一区二区三区四区 | 黄色小视频入口 | 男人的天堂在线视频 | 一级黄色片大全 | 国产午夜成人久久无码一区二区 | 中文永久免费观看 | 中文字幕被公侵犯的漂亮人妻 | 日韩免费看 | www.com黄色片| 亚洲中文字幕在线观看 | 国产夜夜爽 | 亚洲操| 日韩视频在线观看一区二区 | 老子影院午夜伦不卡大全 | 免费观看国产精品 | 久久av无码精品人妻出轨 | 亚洲国产精品综合久久久 | 国产视频中文字幕 | 国产亚洲精品成人av在线 | 免费看女生裸体视频 | 大尺度做爰啪啪床戏 | 台湾佬综合网 | 在线观看视频国产 | 亚洲精品成人无码熟妇在线 | 毛片女人 |