- 博客(71)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 WebViewJavascriptBridge 分析oc向js发送消息处理流程
1.优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案2. WebViewJavascriptBridge 原理分析过程分析如下:- (void)sendMessage:(id)sender { // responseCallback供js返回数据后回调 [_bridgesend:@"A string sent from
2015-08-14 11:40:02
2281
转载 二叉树非递归遍历
http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html
2015-03-28 11:11:10
577
原创 使用动态库时出现,error LNK2019 无法解析的外部符号可能的解决方法。
1动态库的编译环境和使用动态库的编译环境不一致。2,导出动态库的头文件中,不能含有函数的实现。
2014-12-26 12:07:02
2839
原创 STL内部数据结构
C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和 set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户在 STL使用过
2014-10-18 10:04:48
1102
转载 scanf的考察
http://wenku.baidu.com/link?url=8TMqT7qEAqPA8WSBIJsK5VP6qMHI_LPvULL9Ilvrm_FUaICPZJPiSWuGBZzP0bjmYbudyLwG8jqE7t7_V-7IzHNanBCSeaIVUNBHXX1TuCqscanf格式控制的完整格式:% * m l或h 格式字符①格式字符与printf函数中的使用方式
2014-10-16 21:05:09
957
转载 删除二叉排序树中的一个节点
//删除二叉排序树中的一个节点//在二叉排序树T中删除关键字为key的结点void DelBST(BTree *T,int key){ BTree *p=T,*f,*q,*s,*root=T; while(p){ if(p->data==key) break; //找到关键字为key的结点 f=p;//记下关键字key节点的父节点 p=(keydata)?p->lc
2014-10-13 21:53:00
2840
转载 动态创建二维数组
main(){ int i; int **arr; arr=(int **)malloc(ROW*sizeof(int*)); for(i=0;i<ROW;++i) arr[i]=(int*)malloc(COL*sizeof(int)); printf("%d\n",arr[ROW-1][COL-1]); f
2014-10-13 11:10:48
657
转载 保证只能在堆上new一个类对象
有的时候为了保证一个类的对象必须在堆上被创建, 比如当我们需要手动控制一个对象的生命周期的时候, 这个时候就必须保证这个对象是在堆上创建的, 如何保证呢, 有个小的技巧:class A{public: void Close() {delete this; }private: ~A() { ... };};int main(){
2014-10-13 10:37:06
948
转载 指令流水线的计算
计算k段流水线执行n条指令的执行时间,有必要区分两种情况:如果流水线中的各段执行时间均为t,那么执行n条指令的时间就是执行第一条指令的时间kt,加上其余n-1条指令各执行一段的时间(n-1)t。如果流水线中的各段执行时间不等,且最长段的执行时间为tmax,那么执行n条指令的时间就是执行第一条指令的时间T,加上其余n-1条指令各执行最长段的时间(n-1) tmax。
2014-10-13 10:00:11
3408
1
转载 memcpy和strcpy
http://blog.youkuaiyun.com/xiaobo620/article/details/7488827
2014-10-09 09:23:52
683
转载 BSS段、数据段、代码段、堆与栈
http://www.cppblog.com/prayer/archive/2009/08/17/93594.htmlBSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的
2014-09-30 08:47:51
617
原创 把数组排成最小的数
题目:输入一个正整数数组,把数组里的所有数字拼接起来排成一个数,打印出能拼接处的所有数字中最小的一个,例如,输入数组,{32,321},则打印出这个3个数字能排成的最小数字32132.通过比较组合的字符串的大小来排序原来的整数数组,例如 32和321比较的结果是 ”32321“>"32132" 所以认为 32是大于321的。利用冒泡paixu
2014-09-29 16:52:12
917
转载 子数组的最大乘积
子数组的最大乘积 定一个长度为N的整数数组,只允许使用乘法,不能使用除法,计算任意(N-1)个数的组合乘积中最大的一组,并写出算法的时间复杂度。思路一:我们把所有可能的(N-1)个数的组合找出来,分别计算它们的乘积,并比较大小。时间复杂度为O(N*N).思路二:通过空间换时间来降低时间复杂度。设array[]为初始数组,s[i]表示数组前i个元素的乘积,其中1
2014-09-26 21:49:38
676
原创 二进制加法
基本思路是这样的:【看这里,一语道破天机】考虑二进制加法的过程,步骤一、A^B,能够得到没有进位的加法。步骤二、A&B,能够得到相加之后,能够进位的位置的信息。向左移动一位,就是两个二进制数相加之后的进位信息。所以,(A&B)步骤三、将前两步的结果相加。相加的过程就是步骤一和步骤二,直到不再产生进位为止。int Add(int num1,int num2)
2014-09-26 16:58:57
3055
原创 利用归并排序思想求数组中的逆序对
http://blog.youkuaiyun.com/seuliujiaguo/article/details/39555481 这是快排其他的应用http://blog.youkuaiyun.com/seuliujiaguo/article/details/39404161 这是我前一个博文快排方法题目:给定一个数组,比如5, 1, 2, 3, 4,求解该数组中逆序对的数目(这个数组包含4个逆序
2014-09-26 10:07:32
1624
转载 基于快速排序思想求,数组最大的k个数,数组中出现次数超过一半的数,数组中最大的k个数
http://blog.youkuaiyun.com/sicofield/article/details/9008831
2014-09-25 18:39:39
923
转载 2015创发科技校园招聘笔试题—— union考察
http://blog.163.com/shengrui_step/blog/static/2087091872013830113025185/http://www.cnblogs.com/rereadyou/articles/2000433.html
2014-09-25 15:51:07
1794
原创 2015创发科技校园招聘笔试题——把矩阵顺时针旋转90度
第一种方法http://blog.youkuaiyun.com/friendan/article/details/8824682 第二种方法http://www.nowamagic.net/librarys/veda/detail/1044#define n 4 //矩阵顺时针旋转90度 void Rotation(int a[n][n]) { int i; int k;
2014-09-25 15:38:56
2468
转载 用分治法求最大最小值
http://www.nowamagic.net/librarys/veda/detail/257 // 用分治法求最大最小值 public static int getMax(int[] array, int i, int j) { int Max1 = 0; int Max2 = 0; if (i == j) { return Max1 = Max2 = array[j
2014-09-25 09:38:33
1397
原创 sprintf函数在字符串处理的妙用
//转化字符串为原来字符串+该字符串出现的次数void TransChar(char* str,int n,char* res){ int res_len=0;//结果字符串现有长度 int count =1;//当前字符出现的次数 for (int i=0;i<n;i++) { if (str[i+1]==str[i]) { count++; }
2014-09-24 09:09:45
2539
原创 最长公共子串(LCS)
最长公共子串(LCS)找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。其实这又是一个序贯决策问题,可以用动态规划来求解。我们采用一个二维矩阵来记录中间的结果。这个二维矩阵怎么构造呢?直接举个例子吧:"bab"和"caba"(当然我们现在一眼就可以看出来最长公共子串是"ba"或"ab") b a bc 0 0 0a 0 1 0
2014-09-23 17:46:39
1019
原创 百度2015校园招聘笔试题——求数组最大子序列和
//最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},//它的和是8,达到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方法很简单,//只要前i项的和还没有小于0那么子序列就一直向后扩展,否则丢弃之前的子序列开始新的子序列,//同时我们要记下各个子序列的和,最后找到和最
2014-09-23 15:59:12
1102
原创 2015大众点评校园招聘笔试题——比较两个字符串的相同部分和不同部分
利用数组哈希表实现//字符串str1,字符串str2,str1的长度n1,str2的长度n2,res1存储相同字符,res2存储不同字符void charcmp(char* str1,char *str2,int n1,int n2,char* res1,char* res2){ int a1[60]={0};//利用哈希数组记录str1相应字符出现的次数,共有52个大小写字母,asci
2014-09-23 12:23:34
1671
原创 软件测试复习
一,软件测试的分类:1. 按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等),而动态测试则通过运行被测试软件来达到目的。2、按阶段划分: 1 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模
2014-09-22 18:32:15
968
原创 分治算法——快速排序,归并排序
http://blog.163.com/hadyk1111@126/blog/static/29599406200752345233993/快速排序 http://blog.youkuaiyun.com/morewindows/article/details/6684558 分析:数据结构p186.重要 当源文件有序时复杂度是o(n2).此时冒泡排序最好,无序时快速排序是最好的方法。 vo
2014-09-19 22:18:48
1466
转载 回溯算法——八皇后问题
http://www.cnblogs.com/jillzhang/archive/2007/10/21/922830.html
2014-09-19 16:20:33
727
原创 动态规划——背包问题
http://hawstein.com/posts/dp-knapsack.html话说有一哥们去森林里玩发现了一堆宝石,他数了数,一共有n个。 但他身上能装宝石的就只有一个背包,背包的容量为C。这哥们把n个宝石排成一排并编上号: 0,1,2,…,n-1。第i个宝石对应的体积和价值分别为V[i]和W[i] 。排好后这哥们开始思考: 背包总共也就只能装下体积为C的东西,那我要装下哪些宝石
2014-09-19 15:04:08
1252
原创 动态规划——最长非降子序列数组
http://www.360doc.com/content/13/0601/00/8076359_289597587.shtml让我们沿用“入门”一节里那道简单题的思路来一步步找到“状态”和“状态转移方程”。假如我们考虑求A[1],A[2],…,A[i]的最长非降子序列的长度,其中i<N,那么上面的问题变成了原问题的一个子问题(问题规模变小了,你可以让i=1,2,3等来分析) 然后我们
2014-09-19 09:28:27
2394
原创 动态规划——最少硬币问题
http://hawstein.com/posts/dp-knapsack.html如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元? (表面上这道题可以用贪心算法,但贪心算法无法保证可以求出解,比如1元换成2元的时候)首先我们思考一个问题,如何用最少的硬币凑够i元(i好了,让我们从最小的i开始吧。当i=0,即我们需要多少个硬币来凑够0元。由于1,3,5都大
2014-09-18 21:41:45
3993
2
原创 乐其网络2015校园招聘笔试题——处理汉字字符的问题
其中有一道处理汉字字符的,从一个含有汉字的字符串中截取若干个字符,汉字不能截取一部分。void split_name( char * name , char * store , int len) { if (len>strlen(name)) { return; } int i=0; int j=0; for( i=0;i<len;) { if(name[i]>-1&&na
2014-09-16 21:14:36
3105
字符串转化成UTF-8格式
2014-06-18
读取脚本文件代码
2014-06-18
MFC弹出对话框后,鼠标进过对话框形状会变化,有没有大神知道怎么解决啊
2015-01-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人