- 博客(64)
- 资源 (60)
- 收藏
- 关注
转载 Lua5.2.3源码阅读(2)-Table
table在lua中是一个重要的数据结构,使用起来非常灵活,可以用它表示通常的array,map,set等结构。在分析源码之前,先看看table的一些特性。 (1). table是个key-value数组,索引key可以是数字,也可以是字符串。 (2). Key为数字时,默认下表从1开始(c/c++从0开始) (3). table大小可以动态变化 (4). Lua5.2.3中tab
2015-07-14 23:28:12
923
转载 Lua5.2.3源码阅读(1)-TValue,TString
转载:http://blog.youkuaiyun.com/murisly/article/details/46848897Lua是一个弱类型语言,类型可以在使用的时候变化。对应在源码中,TVable就充当了这个角色,lua中的所有数据类型都可以放在这个结构中。TValue是实现Lua数据类型的主要结构,不仅在脚本中使用了TValue,其他的一些数据结构也依赖于它。首先看看Lua的整个数据类型(lua.h
2015-07-13 16:32:21
649
转载 Lua5.3 注册表 _G _ENV
注册表的描述,借用PIL中的一段话:registry 一直位于一个由 LUA_REGISTRYINDEX 定义的值所对应的假索引(pseudo-index)的位置。一个假索引除了他对应的值不在栈中之外,其他都类似于栈中的索引。Lua API 中大部分接受索引作为参数的函数,也都可以接受假索引作为参数—除了那些操作栈本身的函数,比如 lua_remove,lua_insert。例如,为了获取
2015-06-16 20:53:30
3988
转载 WaitForSingleObject等待核心对象激活
#include #include "windows.h"using namespace std;int j=0;DWORD WINAPI MyThreadOne(LPVOID lp){ int *i = (int*)lp; *i = *i + 1; //int j=0; while (j<20) { cout<<++j<<endl; Sleep(500); } /
2014-07-09 15:14:42
619
原创 判断是不是PE文件
#include #include "assert.h"#include #include "TCHAR.H"#ifdef UNICODE#define IsPEFile IsPEFileW#define IsDigiSig IsDigiSigW#else#define IsPEFile IsPEFileA#define IsDigiSig IsDigiSigA#endi
2014-07-08 18:33:02
3329
2
转载 输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数)
题目:输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数。例如输入12,从1 到12 这些整数中包含1 的数字有1,10,11 和12,1 一共出现了5 次。注:这是一道广为流传的google 面试题。 思路一:我们每次判断整数的个位数字是不是1。如果这个数字大于10,除以10 之后再判断个位数字是不是1。(对每一个数x,x先与10取余,
2013-08-24 15:37:53
1308
转载 多柱汉诺塔最优算法设计探究
引言汉诺塔算法一直是算法设计科目的最具代表性的研究问题,本文关注于如何设计多柱汉诺塔最优算法的探究。最简单的汉诺塔是三个柱子(A、B、C),因此多柱汉诺塔的柱子个数M≥3。下面从三柱汉诺塔说起,慢慢深入我们要关心的问题。1. 三柱汉诺塔三柱汉诺塔是经典的汉诺塔问题,在算法设计中是递归算法的典型问题。其算法是这样的: 首先把A 柱上面的n- 1 个碟子通过C 柱移到B 柱上【T(n-1)
2013-05-15 20:35:49
1753
原创 字符串之间的转化
#include #include #include //非MFC工程下包含#include int main(){ using namespace std; USES_CONVERSION; //转化字节需要 int age[3] = {0} ; //数组初始化 /**********************************
2013-05-14 00:03:31
574
转载 c调用约定
在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传
2013-05-02 15:39:35
443
转载 卡特兰数
什么是Catalan数说到Catalan数,就不得不提及Catalan序列,Catalan序列是一个整数序列,其通项公式是我们从中取出的就叫做第n个Catalan数,前几个Catalan数是:1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670,
2013-04-23 09:49:34
764
转载 01背包问题
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免重复计算。通常用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描述一个最优解的结构,寻找子问题,对问题进行划分。2. 定义状态。往往将和子问题相关的各个变量的一组取值定义为一个状态。
2013-04-15 15:23:22
615
原创 2586 How far away ?
Problem DescriptionThere are n houses in the village and some bidirectional roads connecting them. Every day peole always like to ask like this "How far is it if I want to go from house A to house
2013-04-05 21:50:17
841
原创 1013 Digital Roots
Problem DescriptionThe digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the result
2013-03-27 18:05:31
642
转载 1010 Tempter of the Bone
Tempter of the BoneTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 39780 Accepted Submission(s): 10761原题链接:点击打开链接Problem Desc
2013-03-27 16:01:33
422
原创 1009 FatMouse' Trade
Problem DescriptionFatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean.The warehouse has N rooms. The i-th room con
2013-03-26 17:09:16
499
原创 1003
Problem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 +
2013-03-25 11:38:46
485
原创 1002 A + B Problem II
Problem DescriptionI have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. InputThe first line of the input contains an integer T(1<=T<
2013-03-25 09:46:20
476
原创 Lowest Bit
Problem DescriptionGiven an positive integer A (1 For example, given A = 26, we can write A in binary form as 11010, so the lowest bit of A is 10, so the output should be 2.Another example g
2013-03-23 23:48:18
560
原创 ASCII
Problem DescriptionSince all we know the ASCII code, your job is simple: input numbers and output corresponding messages. InputThe first line contains one integer T (1The input will
2013-03-23 23:45:44
616
原创 Buildings
InputStandard input will contain multiple test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.The first line of each test case co
2013-03-23 23:06:46
578
原创 An Easy Task
InputThe input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.Each test case contains two positive integers Y
2013-03-23 22:56:40
1240
原创 Nasty Hacks
InputThe input consists of n cases, and the first line consists of one positive integer giving n. The next n lines each contain 3 integers, r, e and c. The first, r, is the expected revenue if you d
2013-03-23 22:18:16
601
原创 1.1.8 A+B for Input-Output Practice (VIII)
Problem DescriptionYour task is to calculate the sum of some integers.InputInput contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and
2013-03-23 11:19:00
618
原创 1.1.5 A+B for Input-Output Practice (V)
Problem DescriptionYour task is to calculate the sum of some integers. InputInput contains an integer N in the first line, and then N lines follow. Each line starts with a integer M,
2013-03-23 10:13:49
652
原创 char,string,cstring之间的相互转换
#include #include #include //非MFC工程下包含#include int main(){ using namespace std; USES_CONVERSION; //转化字节需要 int age[3] = {0} ; //数组初始化 /*********************************************
2012-12-30 14:52:40
668
转载 基于信号量的线程同步
信号量(Semaphore)和互斥量一样,属于内核对象。它自动执行可用资源查询的测试,如果有可用资源,则可用资源的计数减少,从而避免其它线程请求资源。当该线程释放该资源后,可用资源计数增加,则操作系统允许另一个线程请求资源。 信号量与临界区和互斥量的不同在于,它不能被认为属于某个线程。也就是说,一个线程可以等待信号量对象(减少它的资源计数),而另一个线程释放该对象(增加它的资
2012-10-31 11:09:55
559
转载 基于临界区的线程同步
Windows操作系统提供了设定“特殊事件”的方法,就是使用同步对象。我将在今后学习常用的四种同步对象:临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)。 上述四种同步对象,除了临界区外都是内核对象。临界区不被操作系统的低级部件管理,而且不能使用句柄来操纵,是最易于使用和理解的同步对象。临界区工作在用户方式下,速度
2012-10-31 10:53:28
764
转载 基于事件的线程同步
CreateEvent创建或打开一个命名的或无名的事件对象。函数原型 HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes,// 安全属性 BOOL bManualReset,// 复位方式 BOOL bInitialState,// 初始状态 LPC
2012-10-31 10:31:09
895
转载 基于互斥对象的线程同步
找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥体。CreateMutex()函数可用来创建一个有名或无名的互斥量对象,其函数原型为:HANDLE CreateMutex( LPSECURITY_ATTRIBUTESlpMutexAttributes, // 指向安全属性的指针 BOOLbInitialOwner, // 初始化互斥对象的所有者
2012-10-31 10:28:03
840
转载 c++线程的创建
CreateThread当使用CreateProcess调用时,系统将创建一个进程和一个主线程。CreateThread将在主线程的基础上创建一个新线程,大致做如下步骤: 1在内核对象中分配一个线程标识/句柄,可供管理,由CreateThread返回 2把线程退出码置为STILL_ACTIVE,把线程挂起计数置1 3分配context结构
2012-10-31 10:15:56
41900
原创 30.在从1到n的正数中1出现的次数(数组)
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。分析:这是一道广为流传的google面试题。 这里可以看成是排列组合的问题,某一位上为1,然后看其他位置上值不同的次数。输入45678,现在百位为6,假设百位为1,那么百位前面的千位和万位的不同次
2012-10-27 19:12:23
1560
原创 29.栈的push、pop序列(栈)
题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。 比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因为可以有如下的push和pop序列:push 1,push 2,push 3,push 4,pop,push 5,
2012-10-27 19:05:39
695
转载 很经典的C++笔试题(附答案)
1. 以下三条输出语句分别输出什么?char str1[] ="abc";char str2[] ="abc";constchar str3[] ="abc"; constchar str4[] ="abc"; constchar* str5 ="abc";constchar* str6 ="abc";cout << boolalpha
2012-10-26 10:28:47
368
原创 28.整数的二进制表示中1的个数(运算)
题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。 #include int sumone(int n);int main(){ int a=sumone(15); return 0;}
2012-10-24 00:52:00
694
原创 27.跳台阶问题(递归)
题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。这道题最近经常出现,包括MicroStrategy等比较重视算法的公司都曾先后选用过个这道题作为面试题或者笔试题。 这里用到递归
2012-10-24 00:40:32
618
原创 26.左旋转字符串(字符串)
题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。 a b c d e f g h 1 2 3 4
2012-10-24 00:38:06
625
原创 25.写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,outputstr所指的值为1
2012-10-23 23:25:21
889
原创 24.链表操作,单链表就地逆置
链表操作,单链表就地逆置 #include struct ListNode{ int m_nKey; ListNode* m_pNext; ListNode(); ListNode(int n);};void insert(ListNode** root,int n);ListNode* myswap(ListNode* root) ;
2012-10-23 22:54:20
486
转载 23.用最简单,最快速的方法计算出下面这个圆形是否和正方形相交
用最简单,最快速的方法计算出下面这个圆形是否和正方形相交。" 3D坐标系 原点(0.0,0.0,0.0)圆形:半径r = 3.0圆心o = (*.*, 0.0, *.*)正方形:4个角坐标; 1:(*.*, 0.0, *.*)2:(*.*, 0.0, *.*)3:(*.*, 0.0, *.*)4:(*.*, 0.0, *.*)
2012-10-23 22:20:59
1205
转载 22.有4张红色的牌和4张蓝色的牌,主持人先拿任意两张
http://blog.youkuaiyun.com/v_JULY_v/article/details/6126444有4张红色的牌和4张蓝色的牌,主持人先拿任意两张,再分别在A、B、C三人额头上贴任意两张牌,A、B、C三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上是什么颜色的牌,A说不知道,B说不知道,C说不知道,然后A说知道了。请教如何推理,A是怎么知道的。如果用程序,
2012-10-22 18:29:56
3512
软件工程 中国象棋 系统
2010-01-15
本科毕业论文 基于ASP.NET的网上购物系统的设计与实现
2010-01-14
本科毕业论文 基于B/S的ERP人力资源管理子系统的设计与开发
2010-01-14
本科毕业论文 农产品交易平台的设计与实现
2010-01-14
本科毕业论文 基于支持向量机(SVM)的蘑菇毒性检测系统
2010-01-13
本科毕业论文 Linux下文件管理与文件传送的研究与实现
2010-01-13
本科毕业论文 SOAP协议在电信支撑系统中的应用设计
2010-01-13
本科毕业论文 基于CHAM的形式化建模方法研究
2010-01-13
本科毕业论文 综合营帐系统
2010-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人