- 博客(32)
- 问答 (1)
- 收藏
- 关注
原创 阻塞与非阻塞,同步与异步
1.阻塞(blocking)与非阻塞(nonblocking)阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。阻塞指系统调用返回之前,当前进程会被挂起(进入非可执行状态,CPU不会分配时间片)。函数直到有了结果才返回。非阻塞指系统调用没有得到结果,不会阻塞当前进程,而是直接返回,同时伴随返回相应的错误提示,如EWOULDBLOCK,EAGIN。2.同步(synchronous)
2017-05-05 22:10:01 329
原创 经典排序算法
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存
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
原创 右值引用与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
原创 Windows10+CentOS7双系统(UEFI+GPT)
Windows10+CentOS7双系统(UEFI+GPT)前言眼馋双系统有一段时间了,然而之前安装失败格盘的惨痛教训历历在目。这几天闲着没事查阅了好多资料,怂了一个星期,终于决定再来一次尝试。总的来说安装过程还是挺顺利的,但是后期Windows引导的问题折腾了三天。。。 技术不好,最终搞出个另类的双系统:默认启动Windows10,同时支持Windows Quick Boot;BIOS下切换到C
2016-07-26 22:31:00 10828 1
原创 经典台词
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
原创 求二叉树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
原创 进制位数
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背包一维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
空空如也
『求助』poco C++在VS2013怎么配置
2016-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人