自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liuhuiyi的专栏

真正的勇士要学会为做一件事卧薪尝胆,默默无闻……

  • 博客(74)
  • 资源 (15)
  • 收藏
  • 关注

原创 理解-java内部类

札记 在清理2017年度清单,inbox zero 博客清单时,发现自己遗留了“java 内部类”这篇文档,自己认真回忆后发现确实记忆不太清楚,因此该文档尽快补写。正文 在java(java class)中类内部声明的类,都叫嵌套类(nested class),区别在于如果没有static 修饰,称为内部类(inner class)。嵌套类指所有的声明在别的类或接口中的类,无论有没有s...

2018-02-13 10:18:30 458

原创 RC4 算法

对称密钥也分为多种算法,其中最著名的当属DES,AES算法,不过它们是通过将明文进行分组后进行的加密,而RC4是针对字节流进行加解密,因此RC4更适合于网络通信数据的加密解密,RC4能有效应用的原因还包括运算速度极快的特点,因此曾经RC4应用于TLS。

2016-08-14 11:16:55 8199 2

原创 SSL/TLS 运行原理

SSL/TLS是网络安全通信的基础,在协议创立以来经受住了几十年的安全考验,虽然偶有出现风险(Heartbleedy),但是协议本身的安全是毋庸置疑的。对于安全协议,自己也理解了很多,所以想整理一份各个安全协议的博客系列,供自己查阅与大家交流。本期就主要讲解SSL/TLS协议。 无论是SSL(安全套接层Secure Sockets Layer)还是其后续发展版本TLS(传输层安全协议Transpo

2016-07-31 23:07:47 1191

转载 <br>与<p>标签区别

br与p标签区别,br和p标签认识之div+css开发时候常用换行标签接下来,我们介绍下html中常遇见和常用到的br />和标签之间的区别及用法,以及使用css对他们控制设置属性样式——扩展知识css换行,css不换行。br与p区别目录综合介绍br p相关html知识P和br标签区别Br与p总结一、综合介绍br p   -   TOP首

2014-06-01 19:01:59 8837

转载 动态规划

转自:题目描述:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1 Ti+1 > … > TK (1 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学

2014-05-08 10:04:17 2234

原创 大数的处理

一般情况下,如果sh

2014-04-26 19:59:36 1122

原创 Android Studio在创建项目是一直处于building “project name”gradle project info的解决办法

最近需要做一些Android的开发工作,搭建了一天的Eclipse+SDK+ADT最后都是各种乱七八糟的原因出现问题,而且还有那个那个SDK Manager下载不是一般的慢(再次吐槽之……),最后果断决定换个途径,就想到了Android Studio,迅速下载之。       下载完毕后,安装完毕, 快速创建新项目,最后一步finish后,界面就一直停留在图1所示

2014-03-23 10:29:08 83734 14

原创 C除法运算时发生的截断

C的除法往往也会隐藏着诸多陷阱,例如我们常常碰到的整数除,但是今天谈到的是关于取余运算。        假定我们让a除以b,商为q,余数为r:        q = a / b ;        r = a % b ;        在这里我们不妨假定b大于0。        我们希望a、b、q、r之间维持怎么样的关系?        1. 最重要的一点,q*b+r =

2013-12-24 09:24:59 2512

原创 C中有符号数与无符号数转化之间的危险

无符号数与有符号数之间存在着很多细节问题,稍有不慎就可能导致程序出现不可预料的错误。如果说是在长度相同的数值类型之间相互转化或者向长度比较短的数据转化是没有问题的,结果都是已定义的:多余的位将被简单的丢弃。但是,一旦需要向长度更长的数据类型转化这个问题就会变得十分蹊跷。例如编译器在转化char类型到int类型时,需要作出选择:应该讲字符作为有符号数还是应该无符号数处理?如果是前一种情形,编译器在将

2013-12-23 18:56:49 10190

原创 VC编译器与GCC编译器的区别

今天无意写了一段代码,发现了VC编译器与GUN的gcc编译器还是存在区别的。毕竟GCC支持的是标准C。#include struct Node{ int value; Node *next;};int main(){ Node a; a.value = 1; return 0;}上述代码在GCC下是编译失败的,提示的错误:uknown typename 'N

2013-11-07 21:52:42 15062

原创 使用Filezilla向VMWare中的虚拟机中上传文件提示“无法启动传输”的解决办法

最近一直使用Filezilla完成主机与虚拟机之间的数据传输,偶尔上传会出现“无法启动传输”的错误,但是下载一直比较正常。但是所有的配置都显示正常,在g上也无法找到具体什么原因,今天突然发现问题。文件下载正常,但是上传的文件处于打开状态,此时就就会提示“无法启动传输”错误,将文件关闭即可成功上传。

2013-10-18 10:18:51 13718 1

原创 最小操作数(改版)

题目详情:给了A、B两个单词和一个单词集合Dict,每个的长度都相同。我们希望通过若干次操作把单词A变成单词B,每次操作可以改变单词中的一个字母,同时,新产生的单词必须是在给定的单词集合Dict中。求所有行得通步数最少的修改方法。   举个例子如下:Given:   A = "hit"   B = "cog"   Dict = ["h

2013-08-14 12:19:01 1203

转载 求数组中最长递增子序列

1. 简述    写一个时间复杂度尽可能低的程序,求一个一维数组中最长递增子序列的长度。    例如在序列1,-1,2,-3,4,-5,6,-7中,其最长的递增子序列的长度为4(如1,2,4,6)。2. 思路    这个题目与前面求一维数组中子数组之和最大值有点像,不过区别还是很明显,比如:子数组是数组中一串连续相邻的数字,而子序列不一定是相邻的,因

2013-05-09 16:23:45 930

原创 链表相邻元素翻转

这个题目自己至少看了好几遍, 早上起来自己手写了一下,又在电脑上实现了一下,发现最后还是出现了问题。问题包括:对当前结点的pNext没有设置,导致最后俩节点出现了循环环;while条件设置出错,只判断了cur,没有判断cur->pNext;对一个结点的情形没有考虑到。// reverNode.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h

2013-04-15 09:46:20 964

原创 单链表的逆置

单链表的逆置,心中永远的记忆。单链表的逆置可以有多种实现方法,本文算是对逆置问题的一个总结:首先是使用三指针方法实现。三指针就是使用三个指针分别记录操作每个结点的前驱结点,本身结点,后驱结点。通过while循环不断的调整顺序,然后逐点后移进行操作。这中国三指针的方式应该是最简单的方式,也应该优先考虑的。LNode* ReverseList(LNode* head){ if (

2013-03-31 13:21:07 4935

原创 链表的操作

链表的操作一直是困扰着本人,于是还是自己总结一番,针对性的加强训练。下面是自己的一点点总结:链表其实就是多个数据块通过指针连接起来,所谓的链表的操作,最核心也是最困难的就是调整指针的指向,每个结点只能也只有它能知道下一个结点的存储位置。改变链表的顺序就是不断的调整每个数据块的指针指向。因此,除非需要创建新的结点,会使用直接创建Node结点,否则一般都是创建Node类型的指针,通过指针不断的

2013-03-30 13:39:10 1252 1

原创 单链表复制

自己对于链表始终是有种敬畏之情,也说不出为啥会敬畏链表,只是从开始接触C语言就觉得链表深不可测。可能除了面试题之外自己还没有切实应用过链表吧。昨晚自己看到一复杂链表的复制,何海涛老师讲解的方法让人不禁赞叹“精妙绝伦”,在看链表的操作过程中自己对链表的操作有了几分收获。于是上班期间自己偷偷写了一个单链表的复制。#include "iostream"using namespace std;

2013-03-18 19:49:37 18082 1

原创 求数组的最大子序列和

输入一个整型数组,数组里有正数也有负数。       数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。       求所有子数组的和的最大值。要求时间复杂度为O(n)。       例如:输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,       因此输出为该子数组的和18。

2013-03-17 21:13:02 1901

原创 删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)

题目:删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)代码:void DelSpace(char *s){ if(s == NULL) return; int flag = 0 ; if(*s == ' ') flag = 1; char *p = s; int j = 0; while(*p != '\0') { if(*p != ' ')

2013-02-19 16:34:14 3490

原创 ASCII码表(留作自查)

八进制十六进制十进制字符八进制十六进制十进制字符00000nul1004064@01011soh1014165A02022stx10242

2013-01-29 14:40:22 857

原创 利用堆栈求解算术表达式

1 本文目标分析用堆栈解析算术表达式的基本方法。给出的示例代码能解析任何包括+,-,*,/,()和0到9数字组成的算术表达式。2 中缀表达式和后缀表达式中缀表达式就是通常所说的算术表达式,比如(1+2)*3-4。后缀表达式是指通过解析后,运算符在运算数之后的表达式,比如上式解析成后缀表达式就是12+3*4-。这种表达式可以直接利用栈来求解。3 运算符的优先级

2012-12-25 14:24:25 12560 3

转载 解决tomcat6.0.33 配置SSL时报“No Certificate file specified or invalid file format”异常

在配置tomcat的SSL双向握手中,由于6.0.33版本中默认启用了APR(APR是通过JNI访问的可移植库,可以提高Tomcat的性能和伸缩性),所以采用传统的配置方式(如下)会报异常; 传统的SSL配置:Xml代码  Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"             m

2012-12-19 15:00:41 1583

原创 1007

背景 Background平面上有N个圆柱形的大钉子,半径都为R,所有钉子组成一个凸多边形。现在你要用一条绳子把这些钉子围起来,绳子直径忽略不计。描述 Description求出绳子的长度输入格式 Input Format第1行两个数:整数N(1接下来N行按逆时针顺序给出N个钉子中心的坐标坐标的绝对值不超过100。输出格式 Output Format一个数,

2012-12-03 15:28:05 937

原创 Exercise7-6 文件操作

/** * Description:Exercise 7-6 - write a program to compare two files, printing the first line where they differ * Author: Gecko * Date: 2012-11-30 16:11 * Note: The two files have the same number

2012-11-30 16:33:22 692

原创 stdout,stdin浅析

《The C programming Language》中这样解释stdin,stdout "The file pointers stdin and stdout are objects of type FILE *. They are constants, however, not variables, so it is not possible to assign to them."stdou

2012-11-30 15:12:28 3938

原创 关于main(int argc, char* argv[])的理解

以前对main函数中的参数设置有一些理解,以为很简单,不就是argc是参数数量,argv是字符串数组,但是昨天写多进程的问题确实碰到了麻烦,今天仔细想了想其中的问题还确实不少。其中涉及到的问题也是方方面面的。下面就将做一个仔细的解析。       问题描述:主进程启动多个子进程程序是需要向子进程程序传输参数,而我们知道如果向程序中传递参数也就是向main函数中传递参数,需要用到argv数组来存

2012-11-29 15:59:49 22259 2

原创 Windows下多进程的实现案例

最近碰到一个多进程的问题牵涉到了Windows下多进程的操作。经过研究也算是找到了一种解决方案。下面具体介绍一下这个题目中自己的收获。       背景介绍:程序涉及到Win32与Linux两个平台,要求同时启动多个进程,进程下面启动 多个线程。由于Windows的设计原理与Linux有很大区别(具体可参考Windows移植到Linux),因此Linux平台下创建多个进程比较容易实现。Wind

2012-11-28 15:59:34 17188 4

转载 malloc与alloc的区别

malloc()与 alloc()C语言跟内存分配方式(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存

2012-11-23 14:42:21 1914

原创 用指针操作实现二分法程序

二分法一直在查找已排序数据中占有很重要的位置,我们经常使用的二分法是在数组中使用。如下/* binsearch: find x in v[0] <= v[1] <= ... <= v[n−1] */int binsearch(int x, int v[], int n){ int low, high, mid; low = 0; high = n − 1; while

2012-11-23 10:07:53 3149

原创 1011

背景 Background     顺治帝福临,是清朝入关后的第一位皇帝。他是皇太极的第九子,生于崇德三年(1638)崇德八年八月二ten+six日在沈阳即位,改元顺治,在位18年。卒于顺治十八年(1661),终24岁。    顺治即位后,由叔父多尔衮辅政。顺治七年,多尔衮出塞射猎,死于塞外。14岁的福临提前亲政。顺治帝天资聪颖,读书勤奋,他吸收先进的汉文化,审时度势,对成法祖制有所更张,

2012-11-22 16:10:09 688

原创 单词-Words

[问题描述]Io和Ao在玩一个单词游戏。他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致。游戏可以从任何一个单词开始。任何单词禁止说两遍,游戏中只能使用给定词典中含有的单词。游戏的复杂度定义为游戏中所使用的单词的长度总和。编写程序求出使用一本给定的词典来玩这个游戏所能达到的游戏最大可能复杂度。数据规模限制:单词总数不超过16,单

2012-11-22 10:54:50 1418

原创 各种数据类型的取值范围(自查)

在写程序的过程中我们有时候会处理一些极大地数据,这时候就会出现一些困惑各种数据类型的大小,声明的时候让自己很谨慎, 于是碰到较大的数值就直接long类型的的变量就声明了,在C函数库Limits中包含着对于所用编译器中各个数据类型的取值范围。下面是程序代码。/*本程序中得到启示:在输出不同类型的数据时,输出格式也要相应改变 * long类型的要添加‘l’,unsigned要添加'u'否则会发

2012-11-21 16:13:32 4344

原创 程序中关于堆栈大小的划定

昨天在做小猪登山的题目碰到了数组容量太大的问题,今天做一个总结。     首先,参考了Slyar的文章《C语言 全局变量和局部变量的大小限制》直接贴上。#include int main(){int a[1000000];//局部变量return 0;}编译运行后发现溢出错误。#include int a[1000000];//全局变量int main(){

2012-11-21 11:25:46 27163

原创 1006

背景 Background    在很久很久以前,有一个动物村庄,那里是猪的乐园(^_^),村民们勤劳、勇敢、善良、团结……    不过有一天,最小的小小猪生病了,而这种病是极其罕见的,因此大家都没有储存这种药物。所以晴天小猪自告奋勇,要去采取这种药草。于是,晴天小猪的传奇故事便由此展开……  描述 Description     这一天,他来到了一座深山的山脚下,因为只有这座深山

2012-11-21 11:02:03 1701 1

原创 1002

描述 Description     在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到

2012-11-20 11:00:57 4534

转载 关于scanf的一点汇总

很多人对scanf的不太了解,导致程序出错,我想把scanf的具体用法贴出来,希望大家可以共同进步,有什么不对的地方可以提出来。int scanf(char *format,...);这应该是scanf的标准形式。先说说关于他的返回值的问题。库函数几乎都是有返回值的,有些人可能很奇怪,怎么很少人用过scanf的返回值呢?scanf会返回成功接收到的变量数量的值。比如scanf("%

2012-11-18 18:03:51 4860

原创 1001

描述 Description    某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:  1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;   2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生

2012-11-18 15:42:12 1098

原创 1385

背景 Background  怪盗基德 VS OIBH 第三话       描述 Description  怪盗基德第三次来到熟悉的OIBH总部。屡屡失败的OIBH这次看守的是The Eye of Moon。还是那个房间,还是那扇门,不同的是OIBH对密码锁进行了改进。这

2012-11-18 12:30:24 1148

原创 使用“洋葱法”求解复杂指针

看到《The C Programming Language》Page112页,讲到复杂指针,由于本人对此处一直比较敬畏,虽然在大二的时候读过一遍《C 与指针》,但由于久疏运用,忘得也差不多了。今天准备好好研究一下。       文章参考的supermegaboy的文章复杂指针解析,并没有抄袭的意思,只是想自己留作参考查看之用,如不小心观测此文,不妨去原文瞻仰一番大牛之作。       首先

2012-11-15 14:56:41 1287

原创 计算日期,天数,星期几的小例子

最近在看《The C Programing Language》,进一步加深了自己对于指针赋值的理解,现在看来关于日期,天数这类的题目很是简单,但是遥想当年大一的时候自己去参加计算机学院的编程大赛,五个问题只是求解出来一个,而没解答出的问题中就包含关于日期天数的一个问题,今天为了弥补一下以前的遗憾,就把这个程序再写一写吧。(话说程序还就需要多写多练,本来以为自己看书的时候想枚举,多维数组,局部变量初

2012-11-15 10:22:49 1269

gradle-1.9-all.zip

国内安装Android Studio后,在创建项目是一直处于building……中,问题就在于下载的gradle的网站被国内防火墙阻拦了,因此必须安装离线版本的gradle。 具体的覆盖目录为:C:\Users\XX_Username\.gradle\wrapper\dists\gradle-1.9-all\3jdgemv0iv8uqohg3kcp2o88r1,在目录中既可以发现自己的Android Studio版本所需要的gradle版本。

2014-03-23

ClistCtrl批量显示BMP图片

一个简单地例子,使用ClistCtrl批量显示BMP图片,没有使用分页技术。

2013-03-29

C函数库手册(chm格式)

比较详细的C函数库,每个函数均附有一个例子,新手必备。

2012-07-31

CryptAPI函数调用实例(修改后)

本实例将CryptAPI 一些常用的函数做了演示,实现的功能包括CSP调用,生成RSA密钥对,DES加密解密文件,对文件进行hash运算,使用私钥签名文件,验证签名等功能。

2012-07-26

CrypAPI 常用函数源码实例

本实例将CryptAPI 一些常用的函数做了演示,实现的功能包括CSP调用,生成RSA密钥对,DES加密解密文件,对文件进行hash运算,使用私钥签名文件,验证签名等功能。

2012-07-26

游戏拼图的源代码VC6.0

本资源是本人花了很久的时间编写的拼图游戏的源代码适用于VC6.0,期间还有自己关于详细的注释,本人的最爱啊

2010-05-01

McAfee杀毒软件使用使用说明

McAfee 公司是世界上第八大独立软件公司,简称M字头,是全球最大的致力于提供网络信息安全和管理的专业厂商,也是全球最有影响力的十大网络软件公司之一。

2010-04-17

美国数学建模论文格式.pdf

美国数学建模目前便得越来越流行,但是中国很多学生对于美国赛论文格式都不是很了解,本文就是对具体的格式进行具体的介绍。

2010-02-22

简明 Python 教程

 pythonPython (发音:[ 'paiθ(ə)n; (US) 'paiθɔn ]n.蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。

2009-09-30

计算机网络答案 谢希仁编著

计算机网络参考答案第四版,谢希仁编著,答案准确,解答详细,快捷实用……

2009-09-29

计算机操作系统答案.pdf

配套高等教育出版社《计算机操作系统》答案,很全面的讲解,适合软件工程专业,计算机专业学生使用……

2009-09-27

java。简单工厂设计模式pdf

java的设计模式之一,简单工厂设计模式……基于面向对象的设计模式的基础,是程序员需要找我的技术之一

2009-09-26

Java编程规范 完美 实用

Java编程规范,中文版直接翻译,贴近现实,实例丰富,简单易懂,很快的培养良好的变成习惯 很强大……

2009-09-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除