- 博客(238)
- 资源 (13)
- 收藏
- 关注
原创 【数据结构与算法】基本数据结构——线性表的链式表示
以下为操作链表的算法,该链表为动态单链表。链表以头指针为索引,头指针指向头节点,头节点指向首节点,以此类推,直到尾节点。头节点中不存放数据,只存放指向首节点的指针,设置头节点的目的是为了方便对链表的操作,如果不设置头节点,而是直接由头指针指向首节点,这样在对头指针后的节点进行插入删除操作时就会与其他节点进行该操作时有所不同,便要作为一种特殊情况来分析操作系统:ubuntu
2013-09-07 23:12:21 2901 1
原创 【数据结构与算法】基本数据结构——队列的顺序表示
以下为操作队列的算法,该队列为静态队列,用循环数组实现。给该队列分配的内存长度为len+1,但实际只用了len个内存空间来保存数据,这样做是为了更方便判断队列的满与空。队列中front位置中存放的是队首的数据,rear位置的前一个位置中存放队尾的数据,而rear位置中则没有数据存放,这样做的目的是为了在入队和出队时方便对队列的操作,而不用考虑特殊情况操作系统:ubuntu编译软
2013-09-07 23:09:19 3383 1
原创 【数据结构与算法】汉诺塔算法——C语言递归实现
汉诺塔的递归实现算法,将A中的圆盘借助B圆盘完全移动到C圆盘上,每次只能移动一个圆盘,并且每次移动时大盘不能放在小盘上面递归函数的伪算法为如下:if(n == 1) 直接将A柱子上的圆盘从A移动到Celse 先将A柱子上的n-1个圆盘借助C柱子移动到B柱子上 直接将A柱子上的第n个圆盘移动到C柱子上 最后将B柱子上的n-1个圆盘借助A柱子移动到C柱子
2013-09-07 23:07:05 9281
原创 【数据结构与算法】排序算法——快速排序
快速排序算法,以升序为例操作系统:ubuntu编译软件:gcc结果截图:源代码:#includevoid quickSort(int *,int,int);int findPoss(int *,int,int);int main(){int i;int arry[] = {8,9,0,-3,6,7,-11};quickSo
2013-09-07 23:04:34 3682 4
原创 【数据结构与算法】浅析线性递归和尾递归
今天一直在研究尾递归,看了些博文,记下点笔记,供以后复习用线性递归:也即是普通递归,单向递归,线性递归函数的最后一步操作不是递归操作,而是其他的操作。当数据量很大的时候,会造成栈溢出,这是因为,在每次递归调用时,递归函数中的参数,局部变量等都要保存在栈中,如果数据量很大的话,便可能会溢出。尾递归:也即是线性迭代,尾递归函数的最后一步操作是递归,也即在进行递归之前,把全部的操作先执行
2013-09-07 23:01:59 9409 2
原创 C语言为二维数组动态分配内存的问题
C语言中动态分配一位数组是很简单的,但是没有可以直接对二维数组进行动态分配的函数,因此,要相对二维数组动态分配内存,便要借助于一位数组来实现,具体如下: 假设要为一个n*m的二维数组分配动态内存 首先需要注意的是,不要这样一次性分配为数组内存空间:int **arr = (int**)malloc(n * m * sizeof(int));正确的做法是先分配行,再分配列。
2013-09-07 22:57:22 20882 2
转载 Android APK反编译得到Java源代码和资源文件
原文地址:APK反编译得到Java源代码和资源文件" href="http://blog.sina.com.cn/s/blog_616f6ed80100xep3.html" target="_blank">Android APK反编译得到Java源代码和资源文件作者:cnitu发现很多人都在关心apk的反编译,上传一个可视化的工具吧,原理和下面说的差不多,就是封装了一下。点我下载And
2013-09-07 22:57:22 6209
原创 ACM算法题——快捷键的难题
题目描述:Windows 7系统有很多的快捷键,Y同学最喜欢的快捷键就是Alt+Tab组合键,可以进行方便的进行多窗口之间的切换。为了方便,去掉一些复杂规则后,Y同学进行了如下定义。1.窗口队列:w1,w2,……wi……wn, (1为窗口数目)。队首w1表示当前为激活状态的窗口。2.一次切换动作switch(x):(1)按住Alt键不放(2)敲击x次Tab键(3)放开Alt
2013-09-07 22:54:00 2264 1
原创 2013腾讯编程马拉松赛初赛题目(小Q系列故事——屌丝的逆袭)
1001 小Q系列故事——屌丝的逆袭 Time Limit: 0.1 Seconds Memory Limit: 65536K毕业于普通本科的小Q一直自称是资深屌丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻——直到临近毕业的时候,班里5朵金花中的2位甚至从没和他说过话!谁又能想到,如此不起眼的小Q在历经重重面试环节后,竟然如愿以偿加入了心仪已久的腾讯公司!消息刚
2013-09-07 22:46:07 3237
原创 2013完美未来之星复赛第一场题目——文字处理屏蔽字库
题目描述完美世界现在正在运营DOTA2游戏,由于一些政策法规的需要对于游戏的一些聊天关键字进行屏蔽,玩家发送的聊天信息经过服务器的过滤再广播给需要接收的玩家,这样就可以将其中一些不需要显示的字给替换成*.输入格式第一行正整数N,表示屏蔽字库的条目数量,接下来N行输入屏蔽字库的每个条目.接下来的一行正整数M,表示样本的条目数量接下来的M行输入样本的每个条目。样本的每个条目
2013-09-07 22:42:48 2928 1
原创 2013完美未来之星复赛第二场题目——发放激活码
题目描述完美世界最新的客户端游戏大作笑傲江湖最近已经开始测试了,由于希望参与的玩家太多,只能使用激活码的方式让一部分玩家可以参与测试,现在需要一个测试码的生成规则。如从一组不重复的数字中获得随机几个数字组成验证码,其中只要是这些数字相加的和为相同的那么就认为是同一组验证码,最后希望获得一共有多少组有效验证码。现在希望获得从一组N不同的数字中,获得和为C的组个的个数。组合的个数有可能
2013-09-07 22:41:48 2367
转载 MVC和MVP的一些思考
1. MVC的理解误区以下是我以前对MVC模式的理解误区:1. 认为Model是指失血模型的实体类(Entity),是作为View和Controller之间的传输数据。2. 把业务逻辑全部放在Controller端,认为Controller是用来写UI的业务逻辑的。这两个误区本质上都是对Model的作用不明导致的。Model在MVC架构中起的作用非常重要,它才是UI
2013-09-07 22:29:56 3302
转载 Android AlarmManager的时间设定问题
做了一个基于android操作系统的闹钟小程序,但是在测试的时候遇到了如下一个问题:比如现在的时间是7:00,我设置闹钟为6:00,则闹钟马上会启动。但是如果设置为8:00,则闹钟不会立即启动而是在8:00准时启动。被这个问题纠结了一天,把自己的代码和网上其他人开发的闹钟程序代码比来比去没有什么差别,可就是无法解决这个问题,终于在刚刚又看了一下核心函数,由其传入的参数发现了问题的所在。网上
2013-09-06 23:51:05 4691
原创 Android中Sharedpreferences牵涉到跨进程时不能实时读取的问题
在做课程表应用时,由于要设置课前提醒的时间,我通过Sharedpreferences进行保存,访问模式设为了MODE_PRIVATE,结果在启动的BroadcastReceiver中无法实时读取,每次当数据在Activity中改变时,在BroadcastReceiver中读取的都是上一次的值,而对应的XML文件中的数据已经改变了,并且只有手动清除应用程序的缓存后,才可以读取到修改后的值。弄了半天才
2013-09-06 23:46:22 12467 2
转载 apk文件防止反编译
转:http://blog.csdn.net/sunboy_2050/article/details/6727640作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件
2013-09-06 23:46:19 2416
原创 Android多功能课程表项目实现(完整版)
近几个月一直在忙公司的事情,利用断断续续的闲暇时间,做了个比较简单的Android系统下的课表APP,比较粗糙,发出来,大家批评指正下。【基本功能】 编辑、添加、删除和查看课程表; 【核心功能】 1、打开课表时来,默认显示当天的课程信息; 2、根据用户的设置,在上课前通知提醒; 3、根据用户的设置,上课时自动将手机调节振动,下课后将手机恢复正常铃声; 由于该AP
2013-09-06 23:33:29 42596 39
原创 新启点趣味编程教育有限公司——发掘移动联网的下一代精英
“新启点趣味编程”致力于推动青少年趣味编程的引号和教育,让更多的青少年远离游戏,在趣味编程的学习中找到乐趣,历练其逻辑思维能力,为中国下一代互联网英雄的崛起埋下希望的种子!另外,我们也提供中小学各科文化课、特长课及考研等的一对一上门辅导,我们竭诚为您提供最优质的辅导教育。 扫描二维码关注我们
2013-09-06 23:09:35 3094
原创 女友的心酸考博路
今天,哈工大公布了博士录取的名单,看到女友的名字,眼角湿润了好久。翻看下去年7月份以来跟陆老师往来的邮件,脑海中总是不断浮现这9个月来的种种。9个月,整整9个月,这段路走的实在太长,有太多的泪水,太多的心酸,太多的不容易。2012年6月,为了我,女友决定只报考哈工大深研院,而放弃了更多的选择,忘不了在女友做出决定时带给我的那份感动。7、8月,美好而充实的假期,女友从重庆过来陪我,她每天早出
2013-05-09 23:52:00 17561 109
转载 Java是解释型语言还是编译型语言
有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。 也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读
2013-05-02 21:23:02 9043 4
原创 杂谈——科技园实习的所见所想
在意法半导体ST(意法半导体)实习快两周了,也在科技园呆了这么些日子,没觉得这个在别人眼中神秘的地方有什么特别的地方:工作一样的朝九晚五,伙食一样的快餐盒饭,很多人一样挤公交,挤地铁,一样感慨工作压力大,做employee没前途。 这里驻扎了很多知名企业,右面是ZTE、lenovo、skyworth......左面是ORACLR、飞亚达、德赛......前面是Microprofit、迈瑞.
2013-04-24 21:17:27 4307 5
原创 C语言笔试题——整形变量互换(不能新建一个变量)
前段时间找实习,碰到了这种蛋疼的问题,今天做测试题,又碰到这样的题目,看来还是比较重要的,把该方法记录下来,既然不能新建一个变量,那么常规的那种方法肯定就不要考虑了,看下面这种方法:如果有两个整形变量a,b ,我们按照如下步骤即可将a,b的值互换, a=a^b; b=b^a;a=a^b;即将a,b进行三次异或逻辑运算。 关注我的新浪博
2013-04-24 21:16:09 2511 2
原创 C语言需要注意的基础知识点(自己总结的)
1、 C99标准以前的C要求在一个代码块的开始处集中声明变量,遵循这条规则的好处是把所有的变量声明放在一起,会更易于了解程序多要做的事情。C99标准则允许把变量声明分散放置,这样的好处是可以在准备为变量赋值之前声明变量,这样就不会忘记给变量赋值。2、 编译器将C语言源代码编译成机器语言代码,放在一个目标代码文件中,而后链接器将启动代码(不同擦操作系统的启动代码不同)、库代码
2013-04-24 21:15:18 7601 9
原创 有关指针的一些奇特声明
int *arr[10] 一个具有10个元素的数组,每个元素是一个指向int的指针int (*arr)[10] 一个指针,指向具有10个int元素的数组int *arr[3][4] 一个3*4的数组,数组中的每个元素是一个指向int的指针int (*arr)[3][4] 一个指针,指向具有3*4个int型元素的数组int (*arr[
2013-04-24 21:13:45 2060
转载 alloca/malloc/calloc/realloc/sbrk/new/delete
C语言跟内存分配方式 (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3)从堆上分配,亦称动态内存分配。程序在运
2013-04-24 21:12:46 2679
转载 C语言中字符数组和字符串指针分析
#includeint main(int argc, char *argv[]){ char day[15] = "abcdefghijklmn"; char* strTmp = "opqrstuvwxyz"; printf("&day is %x\n",&day); printf("&day[0] is %x\n",&day[0]); printf("day
2013-04-24 21:11:23 2406 1
原创 深入理解scanf()的输入
首先应明白空白字符对于sacnf()如何处理输入起着至关重要的作用,除了在%c模式下外,在读取输入时,scanf()会跳过空白字符直到第一个非空白的字符处,然后会一直读取字符,直到遇到空白字符,或遇到一个不符合正在读取的类型的字符而停止读取,并将停止处的字符作为下一个输入字符(空白字符除外)。scanf()在%c模式下读取字符的时候,则不会跳过空白字符,而是直接读取第一个输入的字符。scanf()
2013-04-24 21:10:05 2489
原创 C语言中空白字符与空字符的区别
空白字符与空字符的区别:空白字符是指在屏幕上不会显示出来的字符(如:空格、制表符tab、回车换行等)而空字符是指‘\0’,或者是字符的编码值为0的字符。C的字符串存储时通常以空字符结束,该字符的存在意味着数组的单元数必须至少比要存储字符数多1。 关注我的新浪博客:http://blog.sina.com.cn/u/1921993171关注我的新浪微博:
2013-04-24 21:08:47 11031
原创 sizeof()与strlen()的区别
sizeof()函数以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度。而一个字符只占用一个字节,那是不是这两个函数应用到同一个字符串时可以得到相同的结果呢?事实并非如此。 例如,对于一个数组长度为40的char型数组,假设其中实际保存的字符个数为6,则用sizeof读取出的长度为40,而用strlen()函数读出的长度为6(数组的第7个单元放置空
2013-04-24 21:07:27 2896
原创 float、double、long double类型的变量在printf()和scanf()中的占位符使用区别
对于float类型的变量,printf()中的说明符可以用%f或%lf,而scanf()中的说明符则只能用%f;对于double类型的变量,printf()中的说明符可以用%f或%lf,而scanf()中的说明符则只能用%lf;对于long double类型的变量,printf()中的说明符可以用%f或%lf,而scanf()中的说明符则只能用%lf。 关注我的新
2013-04-24 21:06:27 18635 2
原创 JAVA基础知识点(自己总结的)
1、使用浮点型数值时,默认的类型是double,后面加上f或F才被识别为float类型。2、使用数组前一定要先开辟内存空间,当然也可以直接用静态赋值的方式。3、Java中的变量为全局变量时,可以不赋值,直接使用,因为有默认值,但是作为局部变量时,就必须在赋值后才能使用另外。另外,凡是用new关键字新建出来的对象或数组等,对象或数组里面的基本类型都被初始化了默认值,用static关键字声明的
2013-04-24 21:03:56 8647 6
原创 如何完全退出android应用程序
当一个android应用程序包含多个activity时,要完全退出android应用程序,便要销毁掉所有的activity,下面是一种网上流传的比较经典完美的方法: 首先要定义一个继承Application的类,代码及注释如下://MyApplication类用来存储每一个activity,并实现关闭所有activity的操作public class MyApplication e
2013-04-24 21:01:14 2982 1
原创 考研那些事——那些年,我们一起度过的猪狗不如的生活
又是一年毕业季,图书馆前的木棉树迎来送往了一届又一届的学生。回想起过往的四年,感慨万千,疯狂过,努力过,高兴过,哀伤过。。。。。。而今我又将站在一个全新的起点上去迎接新的开始,新的挑战。。。。。。首先来看下我的初试分数:政治76分 英语一67分数学一142分 专业课116分,总分401分,专业排名第一。研友们得知这个分数后,纷纷为我感到惋惜。的确,以这个成绩,完全可以读本专业在国内排名Top
2013-04-24 21:00:05 13308 70
原创 数组循环移位算法
数组循环右移算法:#include#includeint main(){ int len; int *start; int *end; printf("请输入数组个数:"); scanf("%d",&len); start = (int *)malloc(len*sizeof(int)); end = (int *)mal
2013-04-24 20:57:17 3328 1
原创 mars Android视频第14讲中代码出现的错误分析——Handler中的removeCallbacks方法
mars的Android视频开发教程第14讲中的后半部分以一个例子讲解了应用Handler控制进度条的方法。先贴上代码:Android视频第14讲中代码出现的错误分析鈥斺擧andler中的removeCallbacks方法" name="image_operate_99341361904403531" alt="mars Android视频第14讲中代码出现的错误分析鈥斺擧andler中的re
2013-04-24 20:53:00 2597
原创 新建Android AVD,点击start、launch,出现进度条后无任何反应,也没报错(可能的问题及解决方法)
刚接触Android,搭建好开发环境后,新建Android AVD,点击start、launch,出现进度条,之后便无任何反应,也没报错,由于家里没网,一直找不到原因,用手机查了下,有些说是因为显卡的问题(网上有些人用这个方法把该问题解决了),便去网吧下载了个最新的显卡驱动(本人的lenovo笔记本,找到相应的型号下载相应驱动即可即可),拷到电脑上,更新后依然没有反应,后来看看网上也有人说可能是D
2013-04-24 20:50:24 9563 1
原创 Eclipse导入Android项目提示:Invalid project description(解决方法)(
之前建立Android项目时一直保存在设定的默认的Workspace下,导入也没问题,后来又一次导入了别的保存目录下的Android项目,然后再导入该Workspace下的Android项目时,便出现了如下错误:Invalid project description------>detail: ->>> xxxx(project path) overlaps the location of
2013-04-24 20:44:37 3190
转载 配置JDK时的环境变量的含义
在学习Java的过程当中,我们第一天就会学习到JDK的安装。在安装JDK的过程当中,一个很重要的环节就是设置操作系统的环境变量。一个是path,另一个是classpath。这两个环境变量,很多初学者只是了解应该怎样设置给背下来了,并不知道设置这两个环境变量的作用是什么?今天我们就一起来探索一下,因为这两个环境变量非常的重要,特别是classpath这个环境变量,对开发当中各种配置文件,部署描述符的
2013-04-24 20:40:12 3180
原创 自己编的C语言单链表的实现
看了下C primer plus的最后一章以及c和指针中讲解链表的部分,就动手写了个链表的功能实现程序,用纯C编写,在vc环境下,因此文件后缀为cpp。头文件sll_node.h#include#includestruct NODE{ int value; struct NODE *next;};typedef struct NODE Nod
2013-04-24 20:32:09 2666
字典树求公共前缀字符串数目
2014-03-13
九大内部排序算法打包下载
2014-03-05
优化冒泡排序和选择排序
2014-02-27
插入排序和希尔排序的多种实现方法
2014-02-27
模式匹配—BF算法和KMP算法
2014-02-19
赫夫曼树的构建及赫夫曼编码(C语言源代码,代码中含详细注释)
2014-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人