原创 常見排序算法(歸併排序-曾經的筆記)

四、歸併排序     思想:將兩個或兩個以上的有序表組合成一個新的有序表。     兩路歸併的迭代算法:         1個元素的表總是有序的。所以對n個元素的待排序列,每個元素可看成1個有序子表。對子表兩兩合併生成    個子表,所得

原创 爲LUA封裝C/C++函數(不涉及結構體等參數形式)

四、爲LUA封裝C/C++函數(不涉及結構體等參數形式)         由上例中的int _cdecl MyCMax(lua_State* L)函數的實現,可以看出lua調用一個非lua_CFunction類型的函數的過程: (1) 爲

原创 常見排序算法(選擇排序-曾經的筆記)

三、選擇排序 1.簡單選擇排序     思想:總是從其餘部分選擇出最大或最小的記錄到有序子列中, 開始時有序子列的長度爲0,隨着每趟的選擇長度每次增加1。         從程序中可看出,簡單選擇排序移動記錄的次數較少,但關鍵碼的比較次數

原创 常見排序算法(插入排序-曾經的筆記)

一、插入排序 1.直接插入排序     思想:要將第i個記錄插入到已排好序的有序子列(由前i-1個元素組成)中,先順序查找到記錄的插入位置,然後進行插入操作,從而得到一個新的、記錄數增加1的有序表。插入位置的確定通過對有序子列中記錄按關

原创 常見排序算法(交換排序-曾經的筆記)

二、交換排序         交換排序的基本思想就是兩兩比較待排序的關鍵碼,如果遇到逆序(與目標順序正好相反) 時,就進行交換,直到所有對象都排好序爲止。常見的交換排序有:起泡排序和快速排序。     1.起泡排序     思想:從前往

原创 C/C++函數調用LUA函數

二、C/C++函數調用LUA函數        爲應用程序註冊新的C函數到Lua是擴展Lua的基本方法之一。一般本說,從Lua中調用C函數,不是指Lua可以調用任何類型的C函數。對於一個C函數來說,要調用Lua函數就必須遵循一些簡單的協議

原创 VC++6.0配置LUA環境和C++調用LUA的簡單示例

一、VC++6.0配置LUA環境和C++調用LUA的簡單示例 LUA版本: 5.1.3   (http://www.lua.org下載lua 5.13源代碼) 編譯lua 5.13源代碼:(你可下載別人編譯的,) 配置LUA環境:工具→選

原创 由數據成員地址獲取對象首地址

如果你想由數據成員地址獲取對象首地址, 可能編寫像下面的宏: //   FromMember宏//   功能:由數據成員地址獲取對象首地址//   參數:class-對象類名//             memberName-數據成員

原创 在LUA腳本中調用C/C++函數

三、在LUA腳本中調用C/C++函數        可以被Lua函數調用的C函數必須遵循的協議(這個協議定義了參數和結果的傳遞方式):C函數從LUA棧上按直接的順序獲取參數(第一個參數首先被push)。所以當C函數開始執行時,lua_ge