- 博客(220)
- 收藏
- 关注
原创 Python之创建远程仓库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。 第一种情况:将本地仓库的内容上传给远程仓库:第一步,登陆GitHub,然后,在右上角找到“New repository”按钮,创建一个新的仓库: ...
2018-12-01 12:19:15
1232
原创 Python学习之远程仓库Github
远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了。可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方。没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别。为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,...
2018-12-01 11:31:37
621
原创 Python学习之Git基本操作
版本库创建什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: 1 2 3 4 5 ...
2018-12-01 11:23:09
9670
原创 Python学习之Git的安装
首先在Linux系统下安装Git:centOS6.5安装git2.12步骤:安装需求# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel# yum install gcc perl-ExtUtils-MakeMaker卸载Centos自带的git1.7.1通过git –vers...
2018-12-01 10:22:52
1205
转载 Python面向对象进阶---内置函数
https://www.cnblogs.com/linhaifeng/articles/6204014.html#_label6
2018-11-21 14:21:14
209
转载 DLL注入学习总结
dll注入所谓DLL 注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分。要实现DLL注入,首先需要打开目标进程。中文名 dll注入 外文名 hRemoteProcess 意 义 将一个DLL放进进程的地址空间里 方 法 打开目标进程例:hRemoteProcess = OpenProcess( PROCESS_CREATE_THREAD | //允许远程...
2018-09-03 20:22:46
1750
原创 去重函数unique,sort,erase
std::unique一.总述 unique函数属于STL中比较常用函数,它的功能是元素去重。即”删除”序列中所有相邻的重复元素(只保留一个)。此处的删除,并不是真的删除,而是指重复元素的位置被不重复的元素给占领了。由于它”删除”的是相邻的重复元素,所以在使用unique函数之前,一般都会将目标序列进行排序。功能:对有序的容器重新排列,将第一次出现的元素从前往后排,其他重复出...
2018-08-23 23:01:39
9666
3
原创 内存泄露与内存溢出
内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。 内存泄漏缺陷具有隐蔽性、积累性的特征,比其他内存非法访问错误更难检测。因为内存泄漏的产生原因是内存块未被释放,属于遗漏型缺陷而不是过错型缺陷。此外,内存泄漏通常不会直...
2018-08-21 16:07:03
287
原创 POSIX介绍
POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准。POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。简单总结:...
2018-08-20 10:52:36
53875
16
转载 最小生成树的prim算法和kruskal算法
转载自:勿在浮沙筑高台http://blog.youkuaiyun.com/luoshixian099/article/details/51908175关于图的几个概念定义:连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图为连通图。 强连通图:在有向图中,若任意两个顶点vi与vj都有路径相通,则称该有向图为强连通图。 连通网:在连通图中,若图的边具有一定的意义,每一条边都对应...
2018-08-19 15:13:45
1159
原创 收发文件的服务器端/客户端实现
程序需求客户端接受用户输入的传输文件名 客户端请求服务器端传输该文件名所指文件服务器端代码:#include <iostream>#include <string> #include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa...
2018-07-29 19:45:13
3499
原创 调整数组顺序使奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。class Solution {public: void reOrderArray(vector<int> &array) { vector<int> ar...
2018-07-29 11:53:29
2416
2
原创 树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*//*...
2018-07-29 11:53:18
135
原创 OSI 7层模型与TCP/IP协议栈4层模型
OSI 7层模型是指开放系统互连参考模型(Open System InterConnect),是为了实现开放系统互连所建立的通信功能模型。OSI 7层模型第7层:应用层(Application Layer)---提供为应用程序而设的界面,来与另一个应用程序之间进行通信。是网络向用户提供应用服务的唯一窗口,因为提供的用户要求不同,也就产生了不同的协议,如:HTTP、HTTPS、FTP、ST...
2018-07-29 11:52:58
1377
原创 求二进制数中0或1的个数
假如x是一个二进数,例如x=0xfffa(1111 1111 1111 1010),要实现去掉最低位一个0,可进行的操作是x|=(x+1),此时x==0xfffb(1111 1111 1111 1011) ;再去掉一个0,同样,x|=(x+1),则x==0xffff。如果x的2字节表示,则(x+1)为0。基于该思想,利用wile循环对(x+1)判断,可实现计算二进制数中所有位上0的个数。注意,x=...
2018-07-23 15:32:05
1061
原创 矩形覆盖
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?class Solution {public: int rectCover(int number) { int dp[number+1]; dp[0]=0; dp[1]=1; dp...
2018-07-23 15:24:09
171
原创 变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution {public: int jumpFloorII(int number) { int d[number+1]; d[0]=0;d[1]=1;d[2]=2; if(number==0) ...
2018-07-23 15:15:36
162
原创 变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution {public: int jumpFloorII(int number) { int d[number+1]; d[0]=0;d[1]=1;d[2]=2; if(number==0) ...
2018-07-23 15:15:33
172
原创 斐波那契数列
题目:写一个函数,输入n,求斐波那契数列的第n项。 方法1:递归:int fib2(int n){if(n == 0)return 0;if(n == 1)return 1;return fib2(n-1)+fib2(n-2);}缺点:如果n比较大,那么递归程度比较深方法2:class Solution {public: ...
2018-07-23 14:54:10
122
原创 旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。本题给的也算是有序数列,一看就应该和二分沾边,事实也是这样。题目给的是非递减序列,就是说有可能会有重复的数字,要注意一下。来简单分析一下数组的可能。旋转过、没旋转过、...
2018-07-23 14:43:02
147
原创 用两个栈来实现一个队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { int result; if(stack2.empty()) ...
2018-07-23 11:18:51
102
原创 重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如图所示的二叉树并输出它的头结点。 分析及实现: 思路分析 根据二叉树前序遍历的特点(根-左-右),每次读取的第一个值一定是根节点,这样我们可以在中序...
2018-07-23 10:36:13
132
原创 替换空格
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:从前向后记录‘ ’数目,从后向前替换‘ ’。 重点:从后向前替换的时候的技巧 例如:“we are lucky”0 1 2 3 4 5 6 7 8 9 10 11w e a r e l u c k y可以得...
2018-07-23 10:29:06
404
原创 [剑指Offer]二维数组中的查找
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入描述array: 待查找的二维数组 target:查找的数字输出描述查找到返回true,查找不到返回false思路一查找的方法一般就是顺序查找、二分查找、哈希表查找、二叉排序树查找...
2018-07-23 09:54:46
141
原创 Pthread - 线程池(thread pool)实现
线程池简介线程池在多线程编程中经常要用到,其基本模型仍是生产者/消费者模型,线程池一般由线程池管理器(ThreadPool),工作线程(PoolWorker),任务( Task),任务队列(TaskQueue)四部分组成,其中 线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务; 工作线程(PoolWorker):线程池中线程,在没有任务时...
2018-07-22 14:40:03
1165
原创 POSIX条件变量---以生产者、消费者为实例
条件变量(Condition Variables)条件变量是什么?条件变量为我们提供了另一种线程间同步的方法,然而,互斥量是通过控制线程访问数据来实现同步,条件变量允许线程同步是基于实际数据的值。 如果没有条件变量,程序员需要让线程不断地轮询,以检查是否满足条件。由于线程处在一个不间断的忙碌状态,所以这是相当耗资源的。条件变量就是这么一个不需要轮询就可以解决这个问题的方法。 条件变量总...
2018-07-21 20:56:29
515
原创 Linux多线程实践 --Posix信号量与互斥量解决生产者消费者问题
Posix信号量 Posix 信号量 有名信号量 无名信号量 sem_open sem_init sem_close sem_destroy sem_unlink sem_wait ...
2018-07-21 17:00:34
886
1
原创 线程属性
线程属性前篇介绍了使用缺省属性创建线程的基本原理。本章论述如何在创建线程时设置 属性。 注– 只有pthreads 使用属性和取消功能。本章中介绍的API 仅适用于POSIX 线程。除此 之外,Solaris 线程和pthreads 的功能大致是相同的。属性对象通过设置属性,可以指定一种不同于缺省行为的行为。使用pthread_create(3C)创建 线程时,或初始化同步变量...
2018-07-21 15:33:24
2563
1
原创 POSIX线程实现回射客户端/服务器
linux socket的多线程编成来实现多个客户端的连接在socket的网络编程中常常采用多线程的方法来进行与多个客户端的通信,使服务器与多个客户端的通信并发、并行地进行。相比于多进程,多线程的好处是共用一块内存空间,下面我们来看一个简单的例子,就是多个客户端将字符串发送给服务器,服务器再将字符串反转后回复给客户端 服务器 server.c #include <stdio.h&...
2018-07-21 15:14:03
282
原创 POSIX 线程小结
POSIX 在IEEE Std 1003.1c-1995 (也称为POSIX 1995 或 POSIX.1c) 对线程库进行了标准化。开发人员称之为 POSIX线程,或简称为 Pthreads。Pthreads 是 UNIX 系统上 C 和 C++ 语言的主要线程解决方案。 Pthreads API Pthreads API 定义了构建一个多线程程序需要的方方面面——虽然是在很底层...
2018-07-21 14:45:48
703
原创 Linux上posix线程库实现原理讨论
首先我们需要了解线程(threads)是个什么概念。在传统UNIX中,进程(process,就是Intel所谓的task)是调度的最小单位,复杂的大型软件往往需要有多个进程,fork+exev是很常用的技巧。但是随着需求的扩大,特别是网络服务的复杂性增长,fork的开销就成为一个瓶颈问题。为此产生了vfork和copy-on-write技术,都是为了减小fork的开销。 pthread...
2018-07-21 13:39:18
1107
原创 线程、进程及其联系与区别
一、进程 1、进程的概念 进程是操作系统实现并发执行的重要手段,也是操作系统为程序提供的重要运行环境抽象。 进程最根本的属性是动态性和并发性。以下是从不同角度对进程的解释: a、进程是程序的一次执行 b、进程是可以与其他计算并发执行的计算 ...
2018-07-21 10:32:44
218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人