freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告數(shù)據(jù)結(jié)構(gòu)演示系統(tǒng)(參考版)

2024-08-15 00:11本頁(yè)面
  

【正文】 最后,通過(guò)本此課程設(shè)計(jì),對(duì)Windows環(huán)境下的Visual Studio + Windows SDK桌面應(yīng)用編程有了初步的了解,并學(xué)會(huì)了簡(jiǎn)單的Windows圖形用戶(hù)界面(GUI)編程。另外,在設(shè)計(jì)對(duì)用戶(hù)輸入數(shù)據(jù)進(jìn)行處理的過(guò)程中,對(duì)Unicode、ANSI編碼等進(jìn)行了相關(guān)了解學(xué)習(xí),并使程序能夠成功處理用戶(hù)的中文輸入等。通過(guò)對(duì)本演示系統(tǒng)的編寫(xiě),對(duì)Windows程序設(shè)計(jì)、Windows消息處理、MFC編程、用戶(hù)交互等概念有了一定的了解。 六、 設(shè)計(jì)總結(jié)通過(guò)本次課程設(shè)計(jì),加深了對(duì)順序表、鏈表相關(guān)算法及串的模式匹配(KMP)算法理解,而在實(shí)際編碼、調(diào)試過(guò)程中也發(fā)現(xiàn)了一些自己在程序設(shè)計(jì)方面的不足。五、 錯(cuò)誤輸入處理對(duì)于用戶(hù)的錯(cuò)誤輸入數(shù)據(jù),跳過(guò)算法演示并給出相應(yīng)的錯(cuò)誤提示信息。三個(gè)算法演示可同時(shí)進(jìn)行,但當(dāng)某個(gè)算法演示完成后又無(wú)新的模式串或主串輸入時(shí),該算法演示按鈕禁用。四、 KMP演示通過(guò)“輸入”、“求NEXT”、“匹配”及“求NEXTVAL”按鍵進(jìn)行相關(guān)算法演示。當(dāng)前鏈表非空而無(wú)演示時(shí),“查找”、“插入”及“刪除”按鈕啟用。演示過(guò)程中,“變量”區(qū)中各值動(dòng)態(tài)變化,展示當(dāng)前操作元素及順序表形態(tài)變化等信息。二、 順序表演示通過(guò)“創(chuàng)建”、“插入”、“刪除”及“合并”按鈕進(jìn)行相關(guān)算法演示,一個(gè)算法演示期間,所有操作按鈕均被禁用。 第5章 測(cè)試結(jié)果一、 主窗口單擊三個(gè)不同按鈕,選擇三種不同演示。3. KMP部分模式匹配時(shí)間復(fù)雜度為0(n+m),其中n、m分別為主串和模式串長(zhǎng)度。2. 鏈表部分創(chuàng)建、查找、插入、刪除算法平均時(shí)間復(fù)雜度均為O(n)。二、 性能分析1. 順序表部分創(chuàng)建、插入、刪除算法平均時(shí)間復(fù)雜度均為O(n)。4. 文本對(duì)齊在模式匹配等操作中,由于各字符寬度不同,導(dǎo)致演示效果不佳。3. 操作沖突在進(jìn)行一項(xiàng)演示時(shí),如同時(shí)觸發(fā)其它演示事件,導(dǎo)致數(shù)據(jù)同時(shí)被不同操作修改,出現(xiàn)訪(fǎng)問(wèn)錯(cuò)誤。2. 意外終止在演示進(jìn)行過(guò)程中,如若單擊窗口“關(guān)閉”按鈕,導(dǎo)致程序意外終止。 第4章 調(diào)試分析一、 問(wèn)題與解決1. 程序假死使用Sleep函數(shù)使程序出現(xiàn)“動(dòng)態(tài)”效果時(shí),導(dǎo)致程序主線(xiàn)程被掛起,程序出現(xiàn)假死。int 順序表、鏈表位置類(lèi)型。 } else { j = next[j]。 ++j。 int j = 0。} 4. 其它//GetNext 求next值 用于模式匹配void GetNext(CKmpDialog* pDlg, int next[]){ next[1] = 0。 nextval = NULL。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 j = nextval[j]。 k jnextval[j]。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 pDlg(2*i1, (0))。 CString temp = _T( )。 if(pDlgm_T[i1] != pDlgm_T[j1]) nextval[i] = j。 if(0 == j || pDlgm_T[i1] == pDlgm_T[j1]) { ++i。 39。))。 pDlg(2*i, CString::XCHAR(39。 39。))。 //分隔符重置為空 pDlg(2*i, CString::XCHAR(39。 Sleep(1000)。)39。))。 pDlg(2*i, CString::XCHAR(39。)39。))。 while(i pDlg()) { pDlg(2*i, CString::XCHAR(39。 int j = 0。//更新過(guò)程中 禁用 相關(guān)按鈕 及 系統(tǒng)菜單關(guān)閉按鈕 ………… int* nextval = new int[pDlg()+1]。//重新啟用相關(guān)按鈕 及 系統(tǒng)菜單關(guān)閉按鈕 ………… return 0。 } } delete []next。 Sleep(1000)。 ++k) pDlg(0, _T( ))。 } else { for(int k = 0。 Sleep(1000)。 (_T(%d), j)。 next[i] = j。 if(0 == j || pDlgm_T[i1] == pDlgm_T[j1]) { ++i。 39。))。 pDlg(2*i, CString::XCHAR(39。 39。))。 //分隔符重置為空 pDlg(2*i, CString::XCHAR(39。 Sleep(1000)。)39。))。 pDlg(2*i, CString::XCHAR(39。)39。))。 while(i pDlg()) { pDlg(2*i, CString::XCHAR(39。 int j = 0。//更新過(guò)程中 禁用 相關(guān)按鈕 及 系統(tǒng)菜單關(guān)閉按鈕 ………… int* next = new int[pDlg()+1]。 return 0。 next = NULL。 else MessageBox(NULL, _T(模式匹配失??!), _T(匹配失敗), MB_OK)。 } Sleep(1000)。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 j = next[j]。 k jnext[j]。 ++j。))。 pDlg(2*i, CString::XCHAR(39。 39。))。 pDlg(2*i, CString::XCHAR(39。 39。 pDlgSendMessage(WM_USER+1, NULL, NULL)。))。 pDlg(2*i, CString::XCHAR(39。(39。))。 pDlg(2*i, CString::XCHAR(39。(39。 ++j。 39。amp。 int j = 1。 GetNext(pDlg, next)。}3. KMP//KMP模式匹配 線(xiàn)程函數(shù)UINT kmpDlgIndex(LPVOID lpParam){ CKmpDialog* pDlg = (CKmpDialog*)lpParam。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 ++(pDlgm_CurrLength)。 ++pb。 pDlgm_PosB = pb1。 pDlgm_OpPos = pc1。 pDlgm_SortedC += pDlg(5*pb)。 } while(pb = pDlg()) { pDlgm_SortedC += _T( )。 Sleep(1000)。 ++pc。 pDlgm_ValueA = pDlg(5*pa)。 pDlgm_OpValue = pDlg(5*pa)。 pDlgm_CurrList += pDlg(5*pa)。 pDlgm_CurrList += _T( )。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 } ++(pDlgm_CurrLength)。 ++pb。 pDlgm_PosB = pb1。 pDlgm_OpPos = pc1。 pDlgm_SortedC += pDlg(5*pb)。 } else { pDlgm_SortedC += _T( )。 ++pa。 pDlgm_PosA = pa1。 pDlgm_OpPos = pc1。 pDlgm_SortedC += pDlg(5*pa)。 pb = pDlg()) { if(pDlg(5*pa) pDlg(5*pb)) { pDlgm_SortedC += _T( )。 //m_SortedA m_SortedB 含 分隔符 長(zhǎng)度判斷時(shí)應(yīng)忽略 while(pa = pDlg() amp。 int pb = 1。}//有序鏈表合并 線(xiàn)程函數(shù)UINT listDlgMerge(LPVOID lpParam){ CListDialog* pDlg = (CListDialog*)lpParam。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 pDlgm_CurrLength。 pDlgm_DeleteValue = pDlgm_OpValue。 Sleep(1000)。 39。 pDlgm_OpPos = pDlgm_DeletePos。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 pDlgm_OpValue = pDlg(5*(i+1))。 i pDlgm_DeletePos。 return 0。}//鏈表元素刪除 線(xiàn)程函數(shù)UINT listDlgDelete(LPVOID lpParam){ CListDialog* pDlg = (CListDialog*)lpParam。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 ++pDlgm_CurrLength。 pDlgm_OpPos = pDlgm_InsertPos。 pDlgSendMessage(WM_USER+1, NULL, NULL)。 } pDlg(5*(pDlgm_InsertPos+1), _T( ))。 Sleep(1000)。 ++i) {
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1