自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Junhan's Blog

浮生若梦、为欢几何

  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 阻塞与非阻塞,同步与异步

1.阻塞(blocking)与非阻塞(nonblocking)阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。阻塞指系统调用返回之前,当前进程会被挂起(进入非可执行状态,CPU不会分配时间片)。函数直到有了结果才返回。非阻塞指系统调用没有得到结果,不会阻塞当前进程,而是直接返回,同时伴随返回相应的错误提示,如EWOULDBLOCK,EAGIN。2.同步(synchronous)

2017-05-05 22:10:01 329

原创 C++虚函数原理

虚函数原理,虚表

2017-04-16 12:46:23 473

原创 经典排序算法

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存

2017-04-09 19:00:58 345

原创

0 描述堆是具有以下特性的完全二叉树,其所有非叶子结点均不大于(或不小于)其孩子结点。 - 大顶堆 所有非叶子结点均不小于其孩子结点 - 小顶堆 所有非叶子结点均不大于其孩子结点

2017-04-09 18:58:54 319

原创 二叉树

0 概念1.二叉树(Binary Tree)是含有n个结点的有限集合,具有以下几个特点:有且只有一个称(root)的节点其余结点划分为两个互不相交的子集L和R,称为左子树和右子树  2.二叉树的一些基本概念有:度:结点的孩子个数称为度,对于二叉树,度可为0,1,2层次:从根结点开始定义,根结点为1,根的孩子为2,以此类推深度:二叉树中最大层次称为二叉树的深3.二叉树性质

2017-04-09 18:43:39 646

原创 哈希表

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希函数

2017-04-09 18:38:14 490

原创 栈和队列

栈(stack)如果一个线性结构只允许在序列末端进行操作,则称为栈,栈具有后进先出(Last in first out, LIFO)特点。

2017-04-09 18:34:23 296

原创 可变参数模板与完美转发

可变参数模板可变参数模板(variadic template)是C++11新增的一项特性,使得模板参数可以任意化。

2017-04-09 16:06:40 7398

原创 右值引用与move语义

右值C语言中,左值(left value, lvalue)只出现在赋值符左边的量,右值(right value, rvalue)是出现在赋值符右边的量。在C++中,右值的定义稍微不同,每一个表达式都会产生一个左值或者右值,所以表达式也称左值表达式或右值表达式。

2017-04-09 16:04:10 533

原创 Lambda表达式

Lambda表达书是C++11新增的一个特性,Lambda又称Lambda函数,是C++中的匿名函数。Lambda函数形式Lambda函数的基本形式是: [ capture ] ( params ) mutable exception attribute -> ret { body } [ capture ] ( params ) -> ret { body } [ capture] ( pa

2017-04-08 13:05:36 442

原创 GDB调试工具入门

GDB调试工具入门

2017-04-06 13:44:22 2613

原创 Windows10+CentOS7双系统(UEFI+GPT)

Windows10+CentOS7双系统(UEFI+GPT)前言眼馋双系统有一段时间了,然而之前安装失败格盘的惨痛教训历历在目。这几天闲着没事查阅了好多资料,怂了一个星期,终于决定再来一次尝试。总的来说安装过程还是挺顺利的,但是后期Windows引导的问题折腾了三天。。。 技术不好,最终搞出个另类的双系统:默认启动Windows10,同时支持Windows Quick Boot;BIOS下切换到C

2016-07-26 22:31:00 10828 1

原创 Linux基础指令

/*具体用法使用man page 或者 info page 查看*/

2016-03-12 17:49:24 480

原创 经典台词

Sometimes it's the very people who no one imagines anything of who do the things no one can imagine.有时候,正是那些人们认为的无用之人,成就了无人所完成之事。出自《模仿游戏》

2016-01-07 21:17:08 496

原创 M阶B树具体实现

B树删除

2015-12-12 19:50:56 2991

原创 求二叉树T中结点a和b的最近共同祖先

也不知道方法好不好 先贴在这/**********【题目】试编写算法,求二叉树T中结点a和b的最近共同祖先。二叉链表类型定义:typedef struct BiTNode { TElemType data; struct BiTNode *lchild,*rchild;} BiTNode, *BiTree;可用栈类型Stack的相关定义:typedef struct {

2015-12-02 17:09:55 2599

原创 二叉树后序遍历栈实现

/**********【题目】试利用栈及其基本操作写出二叉树T的非递归的后序遍历算法(提示:为分辨后序遍历时两次进栈的不同返回点,需在指针进栈时同时将一个标志进栈)。二叉链表类型定义:typedef struct BiTNode { TElemType data; struct BiTNode *lchild,*rchild;} BiTNode, *BiTree;可用栈类

2015-11-27 21:15:22 1158

原创 二叉排序树

#include #include #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0ktypedef int Status;typedef int KeyType;typedef struct{ KeyType key;}RcdType;typedef struct BSTNode{ RcdType da

2015-11-25 22:48:34 504

原创 二叉树递归遍历

void Traverse1(BinTree T){ if (T == NULL) return; printf("%c ",T->data); Traverse1(T->lchild); Traverse1(T->rchild);}void Traverse2(BinTree T){ if (T == NULL) return; Tra

2015-11-12 21:34:58 341

原创 归并排序(2-路)

核心代码:/*将相邻的有序区间SR[i...m]和SR[m+1,n]归并为有序的TR[i...n]*/void Merge(RcdType SR[], RcdType TR[], int i, int m, int n){ int j, k; for (j = m + 1, k = i; i <= m && j <= n; k++) { if (SR[i].key <= SR[j]

2015-11-12 21:28:58 603

原创 快速排序

快速排序Qsort看了好久都没看懂,直到看到白话的挖坑填数才恍然大悟记录结构:typedef int KeyType;typedef struct{ KeyType key; //others key}RcdType;typedef struct{ RcdType *rcd; int length; int size;}RcdList;核心代码:int Parti

2015-11-12 20:41:55 415

原创 RadixSort基数排序

核心算法:void RadixPass(RcdType rcd[], RcdType rcd1[], int n, int i, int count[], int pos[], int radix){ //对数组rcd中记录关键字的第i位计数,计算得到起始位置数组pos //按照起始位置数组pos将rcd中的记录复制到数组rcd1中 int k, j; for (k = 1; k <

2015-11-05 14:18:07 537

原创 二分查找法两种实现方式

/*定义*/#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int BOOLEAN;typedef int Status;typedef int KeyType;typedef struct{ KeyType key; //others members;}RcdType;typedef st

2015-11-02 23:01:03 446

原创 冒泡排序优化

**********【题目】如下所述,改写教材1.5节的冒泡排序算法:将算法中用以起控制作用的布尔变量change改为一个整型变量,指示每一趟排序中进行交换的最后一个记录的位置,并以它作为下一趟起泡排序循环终止的控制值。顺序表的类型RcdSqList定义如下:typedef struct { KeyType key; ... } RcdType;typedef str

2015-10-31 14:55:25 1335

原创 Binary XML file line # : Error inflating class异常

场景:自定义一个View,并在XML文件中管理的时候引用自定义View主要原因有两个:①XML引用View的时候没有把完整的包名添加上去<com.chenjunhan.basictest.unit.MyView android:layout_width="match_parent" android:layout_height="match_parent"

2015-07-16 12:08:48 1196

原创 Java中数据相互转换

String 转 intint转Stringint 转 IntegerInteger 转 intint[] 转 list

2015-07-13 11:14:26 482

原创 ZKW线段树

zkw线段树

2015-03-07 10:29:20 579

原创 筛选法--快速求素数

快速求素数方法

2015-02-22 17:33:48 1643

原创 进制位数

HDU2097 - Sky数http://acm.hdu.edu.cn/showproblem.php?pid=2097#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <algorithm>#include <cmath>#include

2015-02-19 15:25:37 437

原创 01背包变形--求方案数

HDU 2126 - Buy the souvenirs

2015-02-06 11:11:39 602

原创 多重背包的一个解法

POJ1276 - Cash Machine 多重背包

2015-02-06 10:44:48 567

原创 01背包一维dp数组的实现

二维的01背包模板重点内容include include include # using namespace std; const int maxw = 10000;** const int maxn = 100; int n,W; int w[maxw 2],v[maxn 2],dp[maxw **2];int main() { cin >> n >> W; for

2015-02-06 00:34:07 886

空空如也

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

TA关注的人

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