自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

为梦起航

不积小流无以成江海

  • 博客(80)
  • 收藏
  • 关注

原创 c++重载ostream的实现

#include using namespace std;class Point{public: Point(int _x = 0, int _y = 0, int _z = 0):x(_x), y(_y), z(_z){} Point(){} ~Point(){} friend ostream& operator<<(ostream &os, const Point &pd);

2014-09-19 04:26:14 6497

原创 解决ubuntu 14.04下显示线缆被拔出的问题

本人是ubuntu14.04和win7双系统,在win下联网正常,但是在ubuntu网络连接那里却总是显示线缆被拔出,只能连接无线Wi-Fi,不能有线联网。关于这个问题,终于找到解决办法了,就是输入命令行:sudo ethtool -s eth0 autoneg off speed 100 duplex full这样就可以解决所谓"线缆被拔出"的问题了

2014-09-05 03:38:24 4678

原创 背包问题

先来个0-1背包问题,设置背包总共能容纳的重量是100kg,当前给定有5个物品,它们的重量和价值分别存在数组w和v上(注意:为了方便,我把这两个数组的第一位的值设为0,即实际数组大小为6),并存储了每个物品是否被装包的情况,我们先来看他的Java实现。package com.algorithm.impl;import java.util.Arrays;public class Knap

2014-09-04 15:26:29 1240

原创 打印文件的最后K行(C++和Java实现)

如题,file.txt的内容如下:1234567891011121314151617181920C++实现:#include#include#includeusing namespace std;//const unsigned int k = 5;#define k 5void printLastKLines(ifstream &

2014-09-02 16:54:16 1317 1

原创 EasyBCD在windows7基础上安装Ubuntu 14.04双系统详

把下载好的ubuntu安装包放在C盘根目录下,利用Daemon Tools 将安装包下casper文件夹的vmlinuz.efi和initrd.lz拷贝到C盘根目录下,紧接着打开easybcd,在配置文件里输入如下配置信息,重启后即可进行后续安装步骤了。之前一直报file not found的原因就是把vmlinuz.efi的后缀忘了,导致找不到文件。title Install Ubuntu

2014-09-02 13:19:52 2697

原创 Java实现字符串的全排列

package com.leetcode;import java.util.ArrayList;public class Permutation { public static void main(String[] args) { ArrayList res = perms2("abc"); System.out.println(res); } //法一: publ

2014-09-01 21:13:38 1044

原创 Java实现单链表反转

本文主要介绍单链表反转的两种方法,记录如下:1.package com.leetcode;public class ListReverse { public static void main(String[] args) { Node node1 = new Node(1); Node node2 = new Node(2); Node node3 = new Node

2014-09-01 12:47:50 1070

原创 Java中接口里定义的成员变量

首先你要弄清接口的含义.接口就是提供一种统一的'协议’,而接口中的属性也属于'协议’中的成员.它们是公共的,静态的,最终的常量.相当于全局常量。在interface里面的变量都是public static final 的。所以你可以这样写:  public static final int i=10;  或则  int i=10;(可以省略掉一部分)

2014-07-26 17:49:38 1086

原创 观察者模式

观察者模式(Observer):定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。Observer模式的典型应用- 侦听事件驱动程序设计中的外部事件- 侦听/监视某个对象的状态变化- 发布者/订阅者(publisher/subscriber)模型中,当一个外部事件(新的产品,消息的出现等等)被触发时,通知邮件列表中的订

2014-07-26 17:44:51 846

原创 抽象工厂模式

抽象工厂(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。一般用反射,配置文件等方式实现。1、易于交换产品系列。由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同的产品配置。2、它让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操纵实例,产

2014-07-26 12:44:43 771

原创 策略模式

策略模式(Strategy),定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。package gof23;public class StrategyTest { public static void main(String[] args) { CashContext cc = null; cc = new CashConte

2014-07-24 16:23:37 768

原创 简单工厂模式

简单工厂模式(Factory Method):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。package gof23;public class SimpleFactoryTest { public static void main(String[] args) { Operation oper = null;

2014-07-24 15:40:09 843

原创 单例模式

单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式因为Singleton类封装它的唯一实例,这样它可以严格地控制客户怎样访问它以及何时访问它。简单地说就是对唯一实例的受控访问。package gof23;public class SingletonTest { public static void main(String[] args) {

2014-07-24 15:10:00 745

原创 Dijkstra算法(Java实现)

Dijkstra提出按各顶点与源点v间的路径长度的递增次序,生成到各顶点的最短路径的算法。即先求出长度最短的一条最短路径,再参照它求出长度次短的一条最短路径,依次类推,直到从源点v 到其它各顶点的最短路径全部求出为止。下面是代码实现:package com.algorithm.impl;public class Dijkstra { private static int M = 10

2014-07-23 23:18:28 1274

原创 两种方法删除ArrayList里重复元素

方法一:/** List order not maintained **/ public static void removeDuplicate(ArrayList arlList) { HashSet h = new HashSet(arlList); arlList.clear(); arlList.addAll(h); }方法二:/** Lis

2014-07-10 19:58:56 899

原创 linux系统中的有名管道(FIFO)

无名管道应用的一个重大限制是它没有名字,因此,只能用于具有亲缘关系的进程间通信,在有名管道(named pipe或FIFO)提出后,该限制得到了克服。FIFO不同于管道之处在于它提供一个路径名与之关联,以FIFO的文件形式存在于文件系统中。这样,即使与FIFO的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过FIFO相互通信(能够访问该路径的进程以及FIFO的创建进程之间),因此,

2014-04-16 22:09:17 1140

原创 【Leetcode】Scramble String

Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrings recursively.Below is one possible representation of s1 = "great": great / \ gr

2014-04-14 17:14:29 819

原创 【Leetcode】Copy List with Random Pointer

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list.题意:存在一个链表,里面有两个指针,一个指针指向下一节点,另

2014-04-14 15:38:21 1523

原创 插入排序的实现

#includeusing namespace std;void insertSort(int a[],int n){ for(int i=1;i<n;i++) { int key = a[i]; for(int j=0;j < i;j++) { if(key<=a[j]) { for(int k=i-1;k>=j;k--) a[k+1]=a

2014-04-14 00:02:38 732

原创 归并排序的实现

归并排序的实现

2014-04-13 14:46:16 820

转载 冒泡排序的三种实现

冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,如果N不为0就重复前面二步,否则排序完成。 按照定义很容易写出代码:[cpp]

2014-04-13 13:53:44 579

原创 堆排序的实现

#include#includeusing namespace std;void min_heapify(int a[],int i,int size){ int l = i * 2 + 1; int r = i * 2 +2; int min; if(l a[l]) min = l; else min = i; if(ra[r]) min =r; if(mi

2014-04-13 13:24:46 753

原创 快速排序的实现

#includeusing namespace std;void quickSort(int a[],int l,int r){ if(l>=r) return; int x=a[l]; int i=l,j=r; while(i<j) { while(xi) j--; if(x>a[j]) { a[i]=a[j]; i++; } whil

2014-04-13 11:28:50 939

转载 浅谈TCP/IP网络编程中socket的行为

浅谈TCP/IP网络编程中socket的行为我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉:1. TCP/IP协议(如连接的建立和终止、重传和确认、滑动窗口和拥塞控制等等)2. Socket I/O系统调用(重点如read/write),这是TCP/IP协议在应用层表现出来的行为。3. 编写Performan

2014-03-19 16:39:50 765

原创 C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别

1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。2>静态局部变量具有局部作用域

2013-12-23 22:19:06 964

原创 bss,data,text,rodata,堆,栈,常量段

问题1,二进制文件不包含BSS段,那把BSS段放在哪 答:修改有1000个全局变量,难道要BIN里要存1000个0吗?在链接脚本里把BSS段组织在一起,记下它的起始地址、结束地址,重定位后把这块内存清0即可问题2:全局变量不初始化的话默认初始化为零,干嘛还要手动清零 答:因为它是在BSS段的bss段:BSS段(bsssegment)通常是指用来存放程序中未初始化的全

2013-12-23 20:54:15 1399

转载 C语言中volatile关键字的作用

一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的

2013-12-23 20:19:29 754

原创 const关键字

看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设

2013-12-23 19:52:07 707

转载 linux进程间通信概述

linux进程间通信(IPC)有几种方式,下面将将简单的简述一下: 一.管道(pipe)管道是Linux支持的最初IPC方式,管道可分为无名管道,有名管道等。(一)无名管道,它具有几个特点:1)  管道是半双工的,只能支持数据的单向流动;两进程间需要通信时需要建立起两个管道;2)  无名管道使用pipe()函数创建,只能用于父子进程或者兄弟进程之间;

2013-12-23 19:25:48 700

原创 Mysql常用命令

域完整性:主键primary key;外键foreign key;建立一个数据库:create database 库名;创建表及列名:create table表名(列名1  数据类型 约束,列名2  数据类型  约束,列名3  数据类型  约束);例:    ->id int(10) not null primary key,

2013-12-21 15:11:14 766

转载 InnoDB和MyISAM区别总结

InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。MyIASM是IASM表的新版本,有如下扩展:·二进

2013-12-21 14:53:41 594

转载 轻松搞定面试中的二叉树题目

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树

2013-12-20 19:57:42 574

原创 C++中堆和栈的区别

C++堆栈就是一种数据项按序排列的数据结构,只能在一端(栈顶(top))对数据进行插入和删除,一般分为堆和栈两部分。一、在C++中,内存分为5个区,分别是堆(heap),栈(stack),全局/静态存储区,常量存储区和程序代码区。1.堆(heap),就是new分配的内存块,它们的释放编译器不管,一般由程序员释放,一个new对应于一个delete,如果程序员没有释放,那么可能会由OS回收。

2013-12-19 18:38:39 916

原创 linux系统下的常用指令

1.文件管理文件管理的命令主要有ls,rm,mv,ln,mkdir,touch,cat……ls  查看文件列表比如说:查看当前目录: ls查看文件列表并显示文件的属性,包括时间,组,用户,要用:  ls -l按照时间排序 :ls -lctr查看根目录下文件:ls /rm  删除文件比如: 删除文件f:rm f删除目录d: rm -r dmv  移动/改名文件

2013-12-19 15:35:40 909

原创 【Leetcode】Insert Interval

Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).You may assume that the intervals were initially sorted according to their start times.E

2013-12-18 12:42:01 910

原创 【Leetcode】Recover Binary Search Tree

Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing its structure.Note:A solution using O(n) space is pretty straight forward. Could you devis

2013-12-17 22:32:14 987

原创 【Leetcode】Permutation Sequence

The set [1,2,3,…,n] contains a total of n! unique permutations.By listing and labeling all of the permutations in order,We get the following sequence (ie, for n = 3):"123""132""213""231""3

2013-12-17 21:20:39 947

原创 【Leetcode】First Missing Positive

Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should run in O(n) time and uses constant

2013-12-17 20:27:41 868

原创 【Leetcode】Valid Palindrome

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example,"A man, a plan, a canal: Panama" is a palindrome."race a car" is not a

2013-12-17 19:03:15 807

原创 【Leetcode】Rotate List

Given a list, rotate the list to the right by k places, where k is non-negative.For example:Given 1->2->3->4->5->NULL and k = 2,return 4->5->1->2->3->NULL.题意:将链表右移k个位置。这题不难,但是有几个细节要注意:

2013-12-17 18:02:00 894

空空如也

空空如也

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

TA关注的人

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