自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

转载 stl dequel实现原理

顺序容器deque deque 是一种双向开口的连续线性空间,所谓双向开口,就是可以在头尾两端分别做元素的插入和删除;与vector 相比,vector可以在头尾两端进行操作,但是其头部的操作效率奇差,无法接受。 deque是分段连续线性空间,随时可以增加一段新的空间;与vector相比,vector当内存不够时,需重新分配、复制数据、释放原始空间。 deque的迭代器需要处理段之间的过渡,相比于vect...

2020-09-14 08:09:07 296

转载 MYSQL事务隔离级别实现方式

推荐阅读:https://blog.csdn.net/m0_46995061/article/details/106340227前言如果数据库中的事务都是串行执行的,这种方式可以保障事务的执行不会出现异常和错误,但带来的问题是串行执行会带来性能瓶颈;而事务并发执行,如果不加以控制则会引发诸多问题,包括死锁、更新丢失等等。这就需要我们...

2020-09-09 08:53:23 329

原创 静态库与动态库

程序库:主要提供功能重用,使得程序模块化,加快程序的编译,方便程序进行升级。程序库分为静态库与动态库。静态库:在可执行程序运行前就加入到执行码中,成为可执行程序的一部分(一般以lib*.a 作为库名后缀)。a.应用场景:对空间要求较低,对时间要求较高程序中。b. 制作: 1.使用gcc -c 生成.o 文件 2.使用 ar 工具制作静态库, 如:ar rcs libexapmple.a a.o b.oc. 使用(编译静态库到可执行文件中): gcc he...

2020-09-02 23:47:45 121

原创 编译步骤

编译4步骤:预处理,编译(涉及到语法检测,相比其它步骤,消耗时间和系统资源最多),汇编,链接预处理:(gcc -E hello.c -o hello.i) 展开宏,头文件,替换条件编译;删除注释,空行,空白部分编译:(gcc -S hello.i-o hello.s)进行词法分析、语法分析、语义分析,输出汇编代码文件汇编:(gcc -c hello.s -o hello.o)将汇编指令翻译成机器指令链接:(gcc hello.o -o hello)数据段合并(数据段的合并是将只读的代码区和.

2020-08-31 23:51:58 421

原创 construct-binary-tree-from-preorder-and-inorder-traversal

/*** Definition for binary tree* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/cla...

2019-10-17 22:52:04 79

原创 construct-binary-tree-from-inorder-and-postorder-traversal

/*** Definition for binary tree* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/cla...

2019-10-17 22:47:13 78

转载 TCP三次握手和四次挥手

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-10-14 10:24:05 135

原创 Populating Next Right Pointers in Each Node

处理时每层节点都是个链表。将该链表的左右子节点连接起来。【尝试用递归,但出现超时】/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *next; * TreeLinkNode(i...

2019-10-13 00:47:30 67

原创 恢复二叉搜索树

题目描述二叉搜索树(BST)中的两个节点被错误地交换了,请在不改变树的结构的情况下恢复这棵树。思路:二叉树两个节点被交换,存在两种情况。case 1 是父节点和子节点被交换。case 2是不相邻的两个节点被交换。利用二叉树搜索树中序遍历有序性,如果是case 1, 则发生逆序的两个节点为需要交换值的两个节点;如果是case 2,则存在两处发生逆序的地方, 发生逆序第一处的值被...

2019-10-06 00:24:14 213

转载 如何让类对象只在栈(堆)上分配空间?

...

2019-09-03 00:00:26 658

原创 通过循环遍历二叉树

#include<iostream>#include<stack>struct Node{ int data; Node* left; Node* right; Node() : data(0), left(NULL), right(NULL) {};};Node* buildHeap(int * a, int aSize)...

2019-08-31 21:26:30 536

原创 两个有序数组中找到第k大的元素

1. 求第k大的数,可以定义两个游标(i,j)分别指向两个有序数组(a[], b[]),a[i] > b[j] 则j++,result= b[j];否则i++。移动一次则count++,当count等于k时,返回result。代码如下:#include <iostream>int getRankData(int a[], int aSize, int b[], i...

2019-08-31 17:19:45 2680

原创 有一组不同高度的台阶,用一个整数数组表示,数组中每个数是台阶的高度,雨后(雨水足够多)台阶之间的水坑会积水多少呢?

如数组int height[] = {0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1};对应积水如下图:图转自:https://blog.csdn.net/Thomas0713/article/details/83051990如果要形成积水,则积水两旁的台阶上高于积水区的。而积水体积计算则是最低台阶与两边台阶最低的差。代码:#include &lt...

2019-08-28 22:10:34 1074

原创 链表反转

#include<iostream>struct Node{ int data; Node* next; Node() : data(0), next(NULL) {}};//反转逻辑Node* reverse(Node* p){ Node* last = NULL; while (p) { Node*...

2019-08-26 23:11:32 60

原创 两个链表相加求和

你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,返回和。若链表存储是从高位开始存储,则将链表先反转再相加。反转链表实现#include<iostream>#include<sstream>#include<vector>struct Node{...

2019-08-26 00:24:57 1518

转载 云风协程库保存和恢复协程运行栈原理讲解

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-23 17:09:06 222

转载 无序链表去重

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-22 23:43:20 744

转载 kafka存储结构

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-21 23:20:37 271

原创 Python 字符处处理

需要写个脚本,从sql文件中提取uid,并拼成key,删除redis中的这个key。sql文件形式:updatetable_1setcolumn_1=9459885 whereuid=133333333updatetable_1setcolumn_1=9459886 whereuid=133333334redisList = ['127.0.0.1...

2019-04-12 14:52:20 124

转载 maven依赖顺序导致进程挂掉总结

java程序添加thrift 调用后,每次运行到要发http请求时,程序总是挂掉。由于发http请求这段代码没有改动,百思不得其解之时,调整了pom上关于thrift的包和httpclient包的依赖。再次测试ok了。在网上搜索maven上jar包依赖顺序出错会导致什么问题, 下面是在文章中看到的,以作记录:转自:https://www.cnblogs.com/shawWey/p/7417...

2018-11-15 21:47:03 530

转载 jsoncpp的一些使用方法介绍

迭代读取json的key和value

2016-12-22 18:15:15 431

转载 Redis系列-存储篇sorted set主要操作函数小结

Redis支持有序集合,即sorted set。sorted set在set的基础上,增加了排序属性,是set的升级版。这里简要谈谈sorted set的常用函数:1)inserta)  zadd语法:zadd key score member [[score member] [score member] …]解释:增加一个或多个member【根据score排序】到有序集key中,如果mem

2016-12-22 18:05:45 1082 1

转载 socket编程简介

http://blog.csdn.net/gneveek/article/details/8699198

2016-09-29 15:23:32 197

原创 判断链表是否有环,若有环,寻找环节点

判断方法,创建两个指针p和q指针,p指针每次向前前进一个,q每次向前前进两个。如果存在p和q一起指向同一个结点,则证明有环。反之如果的下一个结点为空,则无环。如果有环,则p到环的结点时,q一定领先p的距离为b(小于环的长度n),此时p和q相遇假设需要前进y次,则q相比p多走了距离y,能够相遇可以假设q比p多走了m圈,则y+b=mn,假设m=1,则y+b=n。y+b因为p到环结点时,

2016-08-23 12:08:44 1368 1

转载 C++中数字与字符串之间的转换

1.string-->char *string str(xinmeng);char *  p = str.c_str();2.char *-->stringchar *p = "meng";string str(p);3.数字转字符串;使用sprintf()函数a.char str[10] ;int a = 1234321;sprintf(str, "%d"

2016-07-26 02:07:38 521

原创 C++拷贝构造函数

1.拷贝构造函数:class Foo{public:Foo();Foo(const Foo &,il); //拷贝构造函数}拷贝构造函数的第一个参数必须是一个引用类型,拷贝时不应该改变原对象的值,所以要求为const类型。2.如果我们不在类中显示定义拷贝构造函数,则编译器会默认创建一个,即合成拷贝构造函数。合成拷贝构造函数会将其参数的成员逐个拷贝到正在创建的

2016-07-26 01:46:52 361

转载 soap消息编解码

转自 http://www.cnblogs.com/xudong-bupt/p/3733306.html读取和设置xml配置文件是最常用的操作,TinyXML是一个开源的解析XML的C++解析库,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。 使用TinyXML只需要将其中的6个文件拷贝到

2016-06-28 23:18:14 775

转载 Shell 脚本学习

不错的网站http://c.biancheng.net/cpp/view/6994.html

2015-11-08 00:06:59 222

转载 adb安装apk常见错误

应用汇常见错误列表转自:http://www.appchina.com/mini/help/error_descrition.html应用汇的安装功能是基于安卓系统的adb开发的,adb的安装过程分为传输与安装两步。在出错后,助手会在右下角弹出详细的错误编号及建议。下面列举出几种常见的错误及解决方法.Q1:无效的安装包,安装包已损坏[INSTALL_FAILED_INV

2015-03-07 21:40:56 2978

转载 终止线程的方法

有三种方法可以使终止线程。    1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。    2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。    3.  使用interrupt方法中断线程。    1. 使用退出标志终止线程    当run方法执行完后,线程就会退出。但

2015-01-23 11:37:13 397

原创 常用的字符串操作函数

1.strtok(char *s,const char * delim)参数s指向要分割的字符串,参数delim则为分割字符串。当strtok()在参数s的字符串中发现到参数delim时,则会将字符改为‘/0’.第一次调用,strtok()必须给予参数s字符串,往后调用,则将s置为NULL,返回指针。例:#include#includevoid main(){char st

2015-01-18 21:54:28 351

原创 一个整型数组里除了一个数字之外,其他的数字都出现了两次,找出出现一次的数字

当两个数字相同,则这两个数字异或得到0,0异或数字还是原来的数字。#includeint findunique(int *a,int len){    int result=0,i;    for(i=0;i        result=result^a[i];    return result;}void main(){    int a[9]

2015-01-16 16:34:39 495

原创 点亮灯泡问题

//deng pao#includevoid main(){    int i=1,j,a[65535]={0},n,b[65535]={0};    scanf("%d",&n);    for(i=1;i        b[i]=i;    for(i=1;i        for(j=0;j        {                j=i+j;

2015-01-16 16:06:59 464

转载 shutdown和shutdownNow的区别

链接:点击打开链接http://justsee.iteye.com/blog/999189

2015-01-13 23:36:10 525

转载 线程池3

转自:http://www.cnblogs.com/dolphin0520/p/3932921.html3.线程池中的线程初始化  默认情况下,创建线程池之后,线程池中是没有线程的,需要提交任务之后才会创建线程。  在实际中如果需要线程池创建之后立即创建线程,可以通过以下两个方法办到:prestartCoreThread():初始化一个核心线程;prestartAllCor

2015-01-13 23:27:28 381

转载 线程池2

二.深入剖析线程池实现原理  在上一节我们从宏观上介绍了ThreadPoolExecutor,下面我们来深入解析一下线程池的具体实现原理,将从下面几个方面讲解:  1.线程池状态  2.任务的执行  3.线程池中的线程初始化  4.任务缓存队列及排队策略  5.任务拒绝策略  6.线程池的关闭  7.线程池容量的动态调整 1.线程池状态  在Thread

2015-01-13 23:26:22 255

转载 线程池

Java并发编程:线程池的使用  我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Java中可以

2015-01-13 23:23:19 248

原创 JAVA 线程同步

1.volatile关键字为实例域的同步访问提供了免锁机制。假定一个对象有一个布尔标记done,它的值被另一个线程设置却被另一个线程查看,如下:private boolean done;public synchronized boolean isDone(){return done;}public synchronized void setDone(){done=true;}但

2015-01-06 22:01:30 245

原创 删除子字符串

import java.util.Scanner;public class deletesubstring {    public static void main(String[] args){        Scanner key = new Scanner(System.in);        String str=key.nextLine();        Strin

2014-12-08 22:39:46 313

转载 opengl的变换和矩阵

OpenGL的变换和矩阵1)指定矩阵类型OpenGL中使用glMatrixMode指定当前要设置的矩阵类型,常用的参数是GL_PROJECTION和GL_MODELVIEW,还有GL_TEXTURE。OpenGL将视点变换(即摄像机变换)和模型变换(即物体变换和世界变换)合二为一了。glMatrixMode指定的模式一但指定就不会变除非再次调用glMatrixMode,所以一般在reshp

2014-11-26 17:12:12 398

coroutine-master.zip

协程切换示例及上下文保存与恢复,下载于:https://github.com/hymanyx/coroutine

2019-08-23

带括号的算术表达式运算

带有()的加减乘除运算,通过对运算符赋予优先级,词法分析,语法分析,及栈实现了运算

2014-03-18

中根遍历程序c

通过链表组织二叉树,通过中根遍历,输出排序结果哦

2013-10-10

销售管理程序c++

销售员,所具有权限为:(1)记录销售情况)(2)查询销售情况 销售经理,所具有权限为:(1)创建销售项目(2)查询项目的销售情况(3)信息汇总(4)更改商品信息 每个人都有自己的账号

2013-10-10

五子棋java程序

   该程序是一个图形界面的java五子棋小游戏。五子棋小游戏提供了两种游戏模式:人机对弈,两人对弈。两人对弈中,有时间限制,在规定时间内,一方五子相连即获胜,游戏结束。若在规定时间内,没有赢家,则先用完时间者输。在人机对弈中,没有时间限制。另外用户可以更改游戏背景。

2013-10-10

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

TA关注的人

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