自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Victory belongs to the most persevering.

  • 博客(214)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 链表反转C++

从头到尾遍历原链表,每遍历一个结点,将其摘下放在新链表的最前端。注意链表为空和只有一个结点的情况。时间复杂度为O(n)。参考代码如下: #include <cstdio>//链表反转ListNode *list_invert(ListNode *phead){ if(phead == NULL) return NULL; ListNode *ptemp1 = p

2016-09-07 22:58:29 557

原创 虚函数与多态

C++虚函数与多态实例    都说virtual关键字是用来实现多态和动态绑定,但是咋一听感觉挺抽象的,下面结合个实例来看看。 父类: #include <iostream>using namespace std;class Dad{public: Dad(){} void sayName() { cout<<"I am Dad."<<endl;

2016-09-06 22:52:33 416

转载 C++程序员面试题汇总

面试题:http://blog.csdn.net/luckyxiaoqiang/article/details/7518888/ http://blog.csdn.net/luckyxiaoqiang/article/details/7393134#topic7 http://www.cnblogs.com/xwdreamer/category/344389.html 剑指offer作者博客:

2016-09-06 22:47:19 546

原创 哈希表

![矩阵数组的两种顺序表达:行优先和列优先] Indexing Rectangular Tables:矩阵表i: 0~m j: 0~n (1) index function: Entry (i,j) in arectangular tablegoes toposition ni + j in asequential array. 元素(i,j)所在位置为ni + j (2) access

2016-09-06 22:42:08 389

原创 寻找链表的倒数第K个节点

输入一个链表,输出该链表的倒数第k个节点主要思路就是使用两个指针,先让前面的指针走到正向第k个结点,这样前后两个指针的距离差是k-1,之后前后两个指针一起向前走,前面的指针走到最后一个结点时,后面指针所指结点就是倒数第k个结点。/*** C++:寻找链表的倒数第k个元节点* 输入:list头指针, k* 返回:list倒数第k个节点 */ ListNode* find(ListNode *p

2016-09-06 22:33:52 480

原创 什么是二叉树

二叉树:**定义:**A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root. 二叉树的深度:从根数到叶子,层数即深度。只有一个根节

2016-09-06 22:30:41 1247

原创 合并有序链表C++

/* Author: Victor LV Date: 2016-9-1 11:20 Description: C++ list merge(sort)*//*** C++:将两个升序排列的链表合并成一个升序排列的链表(不开辟新的链表,直接将原链表重新组合) * 输入:两个list的头指针* 返回:新的list头指针 */ ListNode* find(ListNod

2016-09-06 22:29:54 667

原创 进程和线程小解析

说说进程和线程的区别:进程是操作系统进行资源分配的单位。 线程是CPU任务调度的基本单元。 至于程序和进程的区别?程序是死的代码,用我老师的话来说就是相当于进程的尸体,不可被执行或调度,以文件形式存在于系统中。而进程则是活的程序,是可以被系统执行和调度的。进程的五大状态: 创建(创建进程)-> 就绪(创建完毕,等待CPU调度) -> 运行(正在占用CPU运行) -> 等待(等待IO等其他操

2016-09-06 22:28:33 429

原创 MapReduce小解析

MapReduce小解析:##结合自己前几个月上过的数据挖掘课程(虽然学得很渣),根据回忆小谈当时课上老师讲的一个MapReduce小示例。 MapReduce常用来解决大运算量+复杂运算量的问题(大数据)。 Map:映射:将一个大的任务拆分成多个小任务一一映射到分布式计算区域(例如是多台机器)。然后这些分机各自执行自己的计算任务。 Reduce:合并收缩。将所有分机各自计算好的结果合并得到初

2016-09-06 22:27:25 416

原创 一些面试题2016-9-6分享

题目来自大街网上某学长TP Link的面试题目分享,回答是我自己按个人认知和理解来回答的。1. 归并排序的模拟 :归并排序的核心在于切分和合并,首先将序列不断切分(二分)直到一组只有一个元素,这里使用到递归,切分完之后再将元素合并,这里就是收递归的过程,最终将切分的序列再次合并成一个有序的序列。…2. 哪些常用的进程调度算法(1)FIFO:先进先出 (2)最短作业优先调度算法(SCBF–Sho

2016-09-06 22:25:54 618

原创 判断单链表是否存在回环

/* Author: Victor LV Date: 2016-9-6 10:14 Description: 判断单链表是否有回环C++ *//*** C++:判断单链表是否存在回环 * 输入:list的头指针* 返回:bool:true表示有回环,false表示无 */ /**解题思想: *这里也是用到两个指针。如果一个链表中有环,*也就是说用一个指针去遍历,

2016-09-06 22:21:35 1638

原创 野指针

C++指针(1)野指针:delete操作只是把内存释放以及把该指针与相应的内存(堆)空间解除绑定,但是该指针值未被清空删除,它会变成野指针。野指针在C++里面是一个略恐怖的东西。 “造成野指针的原因: 1、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的默认值是随机的,它会乱指一气。 2、指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指

2016-09-06 22:20:05 454

原创 判断回文串

判断回文串C++实现回文串:level、abba 非回文串:hevel、aabb 方法解析: 1. 首先得知道字符数组的长度(要么使用现成的计算字符数组长度的函数,要么自己写一个遍历区数,都得花费O(n)时间,暂时没有能够节省这部分时间的方法) 2. 然后就从中间的字符开始,往两边走,两边各取一个元素比较,若不相等则跳出,得到答案是这个是非回文串,若相等则继续往两边走,以此类推。 3. 可

2016-09-06 22:17:26 1042

转载 进程和线程的区别

转载自阮一峰的日志

2016-09-04 16:34:59 378

原创 C++定义类和对象的两种方式--对比Java

C++定义类和对象的两种方式–对比Java搞了一段时间java再回来搞C++,在有些地方会偶尔不太适应,例如,这里要说的对象的声明,Java和C++就有很大的不同。 比如说这里有一个类: //C++方式定义一个classclass Son :public Dad {private: const int count;public: Son() { c

2016-09-01 23:00:56 3698 1

转载 C++学习书单

C++各阶段(低阶、中阶、高阶)学习教材(stackflow上经典的回答):http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

2016-08-30 23:37:47 421

原创 STL链表反向输出实例

C++ list反向输出/反转实例    给定一个单向链表,从尾到头输出其每个值。 代码: #include <iostream>#include "stdio.h"#include <list>#include <stack>using namespace std;//从尾到头输出list--1.递归方法 void list_reverse1(list<int> &mylist, l

2016-08-30 23:34:43 1355

原创 C++虚析构函数

C++的虚析构函数: 用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。 这样做是为了当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用,如果析构函数不是虚拟的,则将只调用对应于指针类型的析构函数。当然,并不是要把所有类的析构函数都写成虚函数。因为当类里面有虚函数的时候,编译器会给类添加一个虚函数表,里面来存放虚函数指针,这样就会增加类的存储空间。所以,只有当一个

2016-08-30 23:32:35 609

原创 C++虚函数与多态解析

C++虚函数与多态实例解析    都说virtual关键字是用来实现多态和动态绑定,但是咋一听感觉挺抽象的,下面结合个实例来看看。 父类: #include <iostream>using namespace std;class Dad{public: Dad(){} void sayName() { cout<<"I am Dad."<<endl;

2016-08-30 23:30:54 515

原创 socket java

《Java Network Programming》学习笔记之Socket篇:Socket概念: Sockets shield the programmer from low-level details of the network, such as error detection, packet sizes, packet retransmission, network addresses,

2016-08-29 23:04:11 480

原创 markdown语法

发现markdown还是非常好用,一来语法并不复杂,而且用专门的markdown编辑器的话连语法和快捷键都不用去死记硬背了,而且它确实是一个很强大的编辑方式,快捷高效精美。很值得花一两个小时(对,这时间就足够掌握了)去学一下,以后博客和github就用markdown了,不用再苦逼地用txt纯文本了。这是大标题这是小标题这这是分点符号:”-“加一个空格这不会自动换行 这不会换行在行末加两个空格

2016-08-28 11:51:50 594

原创 网络编程之HTTP

《Java Network Programming》摘录:一个HTTP-GET报文头部header示例:我:client客户端GET /index.html HTTP/1.0 Accept: text/html, text/plain, image/gif, image/jpeg User-Agent: Lynx/2.4 libwww/2.1.4 Host: www.cafeaulait

2016-08-28 11:36:46 856

原创 浅谈java的平台无关性

事先说明哈,以下仅代表当前个人理解:说java是平台无关的语言,我觉得可能会让人误解了一些东西,自己之前就一直搞不懂java所谓的平台无关性是怎样的或者怎么实现的。这里,说一下自己这阵子java学习之后对于这个概念的理解:首先,我认为所谓的语言平台无关性,其实对于所有高级编程语言(如C/C++、java)来说,都是平台无关的,因为高级编程语言是用来在人和机器之间搭建更简便的沟通的方式,或者

2016-08-20 19:51:42 1889 1

原创 最快捷git传文件步骤

前面的一篇博客我介绍了git传输文件的一些基本指令。但其实对于传输本地文件到云端,如果没特殊需求,按如下最简便快捷的方法即可:配置user.name这些是为了让github项目主人看到你是谁,所以如果只是个人使用,不配置也ok,在github上会显示是匿名用户的commit。1.克隆项目到本地:git clone url2.git add .3.git comm

2016-08-20 19:42:54 423

原创 多线程的好处

摘自《多线程编程指南》在代码中实现多线程具有以下益处:■提高应用程序的响应可以对任何一个包含许多相互独立的活动的程序进行重新设计,以便将每个活动定义为一个线程。例如,多线程GUI的用户不必等待一个活动完成即可启动另一个活动。■更有效地使用多处理器通常,要求并发线程的应用程序无需考虑可用处理器的数量。使用额外的处理器可以明显提高应用程序的性能。具有高度并行性的数值算法和数

2016-08-20 19:27:48 572

原创 Java与Java web开发教程网站之IBM developer

IBM developer也是个蛮好的java学习网站,毕竟IBM也是java的力推者之一。而且蓝色巨人里面牛人也多。点击打开链接点击打开链接点击打开链接

2016-08-18 21:30:00 425

原创 C++和java对比

Java和C/C++区别对比:首先java的语法是继承自C和C++的,但是java摒弃或者优化了很多C、C++上面对程序员造成困扰的地方,也就是说java设计者的初衷是想让程序员编程更轻松,更快捷高效,更少出错,当然,某种程度上这需要牺牲程序的效率。(1)比如C、C++上面的指针,在java编程里面不复存在了,在java里面,指针已经被封装在底层虚拟机了,而java程序员因为不能够使用

2016-08-18 21:25:37 1161

原创 conversion from 'LinkedList<myInt>*' to non-scalar type 'LinkedList<myInt>' requested

C++代码编译报错信息:conversion from 'LinkedList*' to non-scalar type 'LinkedList' requested有可能是因为C++ new对象的写法跟java不一样:(1)LinkedList *test = new LinkedList();C++中只是声明对象而未new时,写法跟java一样:(2)L

2016-08-18 21:23:51 1417

原创 CSDN博客被莫名转载

今天猛然发现自己的一些博客(写的内容比较多的一两篇)被好几个网站莫名地拿去它们网站发布了,基本都是那些满屏弹窗广告的那种烂网站,有些起码会在第一句话说文章是引用自我的博客,但有些直接就只是在标题下很小的字体写作者是Lv_Victor博客。因为CSDN的博客都阐明说了“未经允许,禁止转载”,那么这些网站分明就是盗用别人的文章,而且都是写的比较好的文章,放到自己的网站上去刷流量,引导人上去,结果满屏弹

2016-08-16 22:34:21 1048 1

原创 顺序存储(数组)和链式存储(指针)的比较以及线性表小解义

线性表可以理解为区别于非线性的数据结构(如树[二叉树]、图)来说的常见的链表(单链表、循环链表、双链表)就是线性表。另外,栈或队列就是一种线性表。1.顺序存储ArrayList2.链式存储LinkedList两种存储的特点比较:

2016-08-16 22:22:05 810

原创 各种排序算法性能比较

截图自《数据结构与算法:Java语言描述》:

2016-08-16 22:16:02 651

原创 Java三大内存区域

今天看了一个斯坦福的讲Java基础的公开课,叫《编程方法学》的公开课,涉及到Java编程中的三大内存区域,觉得讲得挺好的,自己在这里重构一下知识点。java编程中内存的三大区域:1.存static/final常量的静态/常量存储区2.heap堆区域:存放Dynamic Variable,如new创建出来的对象3.stack栈区域:存放函数的参数,以及local variable

2016-08-13 00:47:16 1611

转载 Java web开发概念小解析

点击打开链接

2016-08-13 00:19:50 353

原创 Java异常处理

先上两张截自《Java核心技术:卷一》的图:下面纯属个人的理解,仅供参考:异常处理:1.捕获 catch  try-catch我自己来处理2.抛出 throws 交给上层程序处理(捕获)个人对异常的理解:所以异常处理流程就是这么一回事:1.首先我声明说我可能会抛出什么样的异常:例如在方法或类后面跟throws IOExceptio

2016-08-11 23:37:09 730

转载 哈希表和HashMap内部实现原理

点击打开链接

2016-08-11 22:58:32 686

原创 git入门指导

首先,先上几个外链接,是git命令大全的博客:点击打开链接点击打开链接点击打开链接还有可以参考“廖雪峰的git教程”。下面,我讲一下我自己从中摸索到的git入门教程,会敲这些命令了也不一定算入门吧,不过起码能自己通过命令行上传文件到远程仓库了。1.首先下载git,Linux下载安装git很容易,直接命令行敲一句命令就行了,Windows的话需要下载安装一

2016-08-11 22:45:25 928

转载 eclipse快捷键汇总

转载:eclipse快捷键汇总

2016-08-11 21:23:51 395

原创 Java Map容器小示例

Map容器:键值对(Key-Value);关联数组。Map里面的key和value都可以是任意的对象,比如Integer,或者一个很复杂的类对象。Java里面的Map都封装得比较好了,所以使用的话主要是要了解Java库提供了啥函数。下面看示例:package com;/** * @author lv.lang * */import java.util.Map;import

2016-08-09 23:28:36 1393

原创 Java容器小解析

首先来看看容器的作用或者说语言设计者设计容器的初衷,也是从《Java编程思想》一书总结出来的:使用容器原因:一句话概括:在任意时刻、任意位置、创建任意数量的对象。其实就是保存对象,然后其实用数组也能保存对象,只是数组长度限定死,所以才用到动态长度的动态数组:容器。原因分点:1.动态创建对象(运行时才决定创建对象)2.对象的类型和数量也是动态的来看一个小示例:

2016-08-08 23:49:06 722

原创 泛型小解析

先来看看《Java编程思想》一书里面对于泛型的初衷和作用的解析:作用1(针对C++):当我们编写了一个很强大的函数,希望拿去使用(通过参数传递进来)时,发现这个函数只能传递一个特定类型的参数比如int类型的,那么对于其他类型的数据就无法使用这个“强大”的函数了,是不是很苦逼,举个例子,int max(int a, int b)函数,我们姑且当它是一个很“强大”的函数,是用来计算

2016-08-07 23:13:05 472

JavaCard Demo--电子钱包应用

个人写的一个JavaCard 入门版的小Demo--电子钱包应用,亦可到我Git仓库下载:https://github.com/Victor-Lv/Wallet。是当初自己在学习这门课程写的,代码多不成熟,仅供参考。仅供学习下载使用。

2018-09-19

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

TA关注的人

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