Time of Update: 2018-12-05
/* 出錯處理過程error *//* 參數:n:出錯代碼 */void error(int n){cout<<"****"<<setw(cc-1)<<'!'<<setw(2)<<n<<endl; /* 在螢幕cc-1位置顯示!與出錯代碼提示,由於cc 是行緩衝區指標,所以!所指位置即為出錯位置 */fa1<<"****"<
Time of Update: 2018-12-05
/* 目標代碼產生過程gen *//* 參數:x:要產生的一行代碼的助記符 *//* y, z:代碼的兩個運算元 *//* 本過程用於把產生的目標代碼寫入目標代碼數組,供後面的解譯器解釋執行 */void gen(fct x,int y, int z){if (cx > cxmax) /* 如果cx>cxmax表示當前產生的程式碼行號大於允許的最大程式碼數 */{cout<<"program too long"; /* 輸出"程式太長",退出
Time of Update: 2018-12-05
一、可最佳化的地方 上一節實現的代碼從運行效率上看,有兩個重大缺陷:1、每次遞迴調用前,需要將當前的狀態矩陣拷貝一份,然後刪除和當前行相交的所有行和列,得到新的矩陣,當矩陣非常大時,拷貝操作所需的時間和空間都很大。2、在實際情況中,矩陣M一般是疏鬆陣列,0的個數遠遠多於1的個數,如果我們能只處理含1的儲存格的話,將大大提高啟動並執行時空效率。二、最佳化所用到的資料結構
Time of Update: 2018-12-05
文法分析採用遞迴子程式,基本上一條規則對應一個分析函數。聲明處理的相關代碼/* 常量聲明處理過程constdeclaration */void constdeclaration(const int& lev, int& tx,int &dx){if (sym == ident)/* 常量聲明過程開始遇到的第一個符號必然應為標識符 */{getsym( ); /* 擷取下一個token */if (in (sym, symset{eql,becomes})) /*
Time of Update: 2018-12-05
幾個有用的Servlet過濾器import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException; /** * 用於的使 Browser 不快取頁面面的過濾器 */public class ForceNoCacheFilter implements Filter{ public void doFilter(ServletRequest request,
Time of Update: 2018-12-05
//檔案node.h#pragma oncestruct CNode{CNode* Left; //左節點指標CNode* Right; //右節點指標CNode* Up; //上節點指標,對列節點,則為本列最後一個元素的指標CNode* Down; //下節點指標,對列節點,則為本列第一個元素的指標int name;//對普通節點,為所在子集的編號,即行號;//對列節點,為列編號};struct CColumnHead:public
Time of Update: 2018-12-05
/* 語句處理過程statement *//* 參數說明:fsys: 如果出錯可用來恢複文法分析的符號集合 */void statement(const symset& fsys,const int& lev, int& tx)/* 運算式處理過程expression *//* 參數說明:fsys: 如果出錯可用來恢複文法分析的符號集合 */{ int i, cx1, cx2;/* statement */if (sym == ident)/*
Time of Update: 2018-12-05
最近在學習羅雲彬大俠的win32彙編教程,順便把windows的api和訊息機制也好好學習了下。在學習"表徵圖和游標"一節時遇到了一些問題,這裡將主要實驗步驟和結果列出,供後來者參考。一、實驗前的準備 1、代碼檔案icon.cpp的內容:#include <windows.h> LRESULT CALLBACK WndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM
Time of Update: 2018-12-05
/* 目標代碼產生過程gen *//* 參數:x:要產生的一行代碼的助記符 *//* y, z:代碼的兩個運算元 *//* 本過程用於把產生的目標代碼寫入目標代碼數組,供後面的解譯器解釋執行 */void gen(fct x,int y, int z){if (cx > cxmax) /* 如果cx>cxmax表示當前產生的程式碼行號大於允許的最大程式碼數 */{cout<<"program too long"; /* 輸出"程式太長",退出
Time of Update: 2018-12-05
今天學習羅雲彬win32彙編教材的工具列一節,核心代碼為:hWinToolbar = CreateToolbarEx(hWnd,WS_VISIBLE|WS_CHILD|TBSTYLE_FLAT|TBSTYLE_TOOLTIPS|CCS_ADJUSTABLE,ID_TOOLBAR,0,HINST_COMMCTRL,IDB_STD_SMALL_COLOR,stToolbar,NUM_BUTTONS,0,0,0,0,sizeof(TBBUTTON));nStyle =
Time of Update: 2018-12-05
int main(int argc, char* argv[]){for (char ch = ' ';ch <= '^';++ch) /* 這個迴圈把ssym數組全部填nul */ssym[ch - ' '] = nul ;/* changed because of different character setnote the typos below in the original wherethe alfas were not given the correct space *//*
Time of Update: 2018-12-05
1、下載和按照MinGW,下載頁面為:http://sourceforge.net/projects/mingw/files/latest/download?source=files,安裝的時候最好全部安裝,這樣就帶了一個最新的g++編譯器,支援很多新特性。2、把makefile和main.cpp檔案拷貝到同一目錄下3、在MinGW Shell裡用cd命令進入代碼所在目錄,再執行make命令注意MinGW的路徑和linux類似,需要用類似於cd
Time of Update: 2018-12-05
/*title: web service入門學習筆記(七)**date: 2007/01/19**author:laomai**url: http://blog.csdn.net/laomai/*/七、命令列開發過程
Time of Update: 2018-12-05
一、問題描述精確覆蓋問題(Exact Cover
Time of Update: 2018-12-05
StringUtils工具類的使用 一、數組轉成字串: 1、 將數組中的字元轉換為一個字串 將數組中的字元轉換為一個字串 @param strToConv 要轉換的字串 ,預設以逗號分隔 @return 返回一個字串 String[3] s={"a","b","c"} StringUtil.convString(s)="a,b,c" 2、 static public String converString(String strToConv) @param strToConv 要轉換的字串 , @
Time of Update: 2018-12-05
以下各節的代碼根據教材P288的附錄A中的pascal代碼改寫而來。改寫時的要求是1、盡量使用原有的變數名和類型名、函數名和參數名2、對c++中未提供的運算子或者函數,則額外實現3、盡量不改動原有的處理流程。此外,代碼中的注釋基本摘自技術高手李凡希的部落格。地址為http://blog.csdn.net/lifanxi/article/details/3833 這裡向這位技術大牛致以崇高的敬意!由於代碼較多,故分幾次貼出,本次先貼出標頭檔包含語句和全域變數定義語句 /*
Time of Update: 2018-12-05
一、演算法的主要流程有了子集的矩陣表達形式之後,我們就可以用Knuth發明的X演算法來求出精確覆蓋問題的解。(如果你在研究演算法,但是沒聽過knuth的名字並且你又不是電腦的天才的話,請在閱讀完本文後立刻去拜讀Knuth的大作,呵呵)。這個遞迴演算法(設演算法函數的名字為search)的主要流程是1、設定一個子集編號集合S,用來儲存本次得到的部分解。開始時S為空白。2、判斷當前矩陣M是否為空白,為空白的話表示已經沒有待處理子集和元素,此時求解成功,返回true.3、判斷當前矩陣M中是否有全1的行
Time of Update: 2018-12-05
一、類CExactCoverSolution的聲明#include<vector>#include<string>#include <algorithm>#include <iostream>using namespace std;//類型的定義typedef int ELEMENT_TYPE;typedef char SUBSET_NAME; typedef vector<int> ROW;typedef vector<ROW&
Time of Update: 2018-12-05
一些主流的架構模式,總結一下: 宏觀上講,我們採用了分層的架構,將軟體分為如下的層次: 在具體的實現中,表現層可為Struts/JSF等,業務層、訪問層可為JavaBean或EJB等,資源層一般為資料庫。 宏觀上的層次就是這樣,在具體現實中,有如下幾種實現形式:1, 輕量級實現 表現層使用基於MVC的架構,比如Struts或JSF業務層使用JavaBean(就是常說的Service)訪問層使用JavaBean(就是常說的DAO)優點: 輕量級實現,簡單明了缺點: 難以無法實現分布式應用 以下功
Time of Update: 2018-12-05
轉自:http://www.bstek.com/list.asp?id=1001面對龐雜的內部交易管理,銳鋒公司需要一套內部交易管理系統。系統應具有業務涉及面廣、使用者眾多、流程複雜、介面繁瑣等特點。這樣的系統應該如何開發? 綿陽銳鋒公司的內部交易管理內容涉及到公文的收發、日常事務的管理、中心資源管理、個人辦公操作、資訊共用與傳輸等,軟體的使用覆蓋到計算中心研究所的網路中心、軟體開發部等各技術部門以及各行政部門。整合傳統開發模式 眾所周知,傳統的“前台功能頁面(JSP頁面)+