自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 离散数学 偏序关系中盖住关系的求取及格论中有补格的判定

内容:编程实现整除关系这一偏序关系上所有盖住关系的求取,并判定对应偏序集是否为格。要求:对任意给定正整数,利用整除关系求所有由其因子构成的集合所构成的格,判断其是否为有补格。#includeint min(int a,int b)//求最大公约数{ int k=0,s=0; if(a>b) { k=a%b; s=b; } else { k=b%a; s=a;

2014-11-29 22:34:31 5550

原创 查看C++程序的运行时间

#include <iostream>#include <time.h>int main(){ clock_t start,finish; start = clock(); for(int i = 1;i<1000; i*=5) { std::cout<<i<<std::endl; } finish = clock(); ...

2018-12-04 11:10:43 4270 2

原创 C++ 虚函数 虚内存的内存模型

1 多态类型 在C++中,多态类型是指声明或者继承了至少一个虚函数的类型,反之则为非多态类型。 对于非多态类型的变量,其类型信息都可以在编译时确定。例如:struct C{ /* data */ void foo() {}};C c; std::cout << typeid(c).name(); // 可以在编译时确定a的类型为A c.foo(); ...

2018-08-20 20:20:10 1345

原创 c++ struct 内存对齐

结构体的内存布局依赖于cpu,操作系统,编译器以及编译时的选项。 考虑三点: 1.成员对齐 每个成员变量存放的位置相对于结构体起始位置的偏移量必须为该变量类型所占用字节数的倍数。 空缺的字节由编译器自动padding,padding的值根据内存分配的不同,也会有所不同,这需要接下来的测试。 2.结构体对齐 结构体类型的对齐要求不能比它内部类型中要求最严格的那个宽松,也就是要是最大类型的...

2018-08-12 17:30:39 1338

原创 找出数组中第一个重复的元素

长度为n的数组,存放0-n-1的int数,找出数组中第一个重复的元素。bool duplicate(int numbers[], int length, int* duplication) { if (length <= 0 || numbers == nullptr) { return false; } for (int i = 0; i &...

2018-07-30 22:05:39 1152

原创 C++单例模式

//// Created by fengxb on 18-7-28.//#ifndef SINGLETON_SINGLETON_H#define SINGLETON_SINGLETON_H#include <pthread.h>class Singleton{public: static Singleton* getInstance(); stati...

2018-07-28 12:19:18 140

原创 strcpy函数

char* my_strcpy(char* dest_str, const char* src_str){ if(dest_str== nullptr||src_str== nullptr){ throw “invalid arguments”; } //c语言字符数组以\0结尾 char* dest_cpy_str=dest_str; ...

2018-07-28 10:59:22 140

原创 求链表导数第k个节点

typedef struct ListNode{ int data; struct ListNode* next;}ListNode;ListNode* FindKthToTail(ListNode* pListHead, uint32 k){ if(pListHead== nullptr){ return nullptr; } Li...

2018-07-27 23:48:19 210

原创 c++ 实现atoi函数

atoi函数就是由string转为int,在这个过程中需要做一些判断。 1. 判断string长度>0 2. 判断首位字符的符号 3. 正负数对应的溢出条件 4. 判断每一位的字符 参考了JDK1.8的实现。int my_strlen(const char*s){ if(s== nullptr){ cout<<"error"<<e...

2018-07-27 00:27:01 3998

转载 即时通讯软件如何保证消息的不重复和不丢失

今天手机的微信收到的消息总是会延迟,于是了解了一下。 消息的可靠性,即消息的不丢失和不重复,是im系统中的一个难点。当初qq在技术上(当时叫oicq)因为以下两点原因才打败了icq: 1)qq的消息投递可靠(消息不丢失,不重复) 2)qq的垃圾消息少(它antispam做得好,这也是一个难点,但不是本文重点讨论的内容) 今天,本文将用十分通俗的语言,来讲述IM系统中消息可靠性的问题。...

2018-06-01 16:22:57 5086 4

原创 Java 多线程阻塞echo服务器

当Server端收到一个Client的连接时,新创建一个Thread线程来处理该请求(输入输出)。public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSocket=new ServerSocket(5555); ...

2018-05-23 11:44:21 186

原创 java 单线程echo服务器

Server 端1.创建ServerSocket类,绑定指定端口,端口号大于1024(否则需要root权限启动)。 2.调用serverSocket类的accept()方法实现端口监听 3.初始化输入输出流out in 4.循环收发数据 5.关闭流和套接字Client端1.创建Socket类,绑定host和端口号 2.初始化输入输出流 3.循环收发数据 4.关闭流...

2018-05-23 10:28:30 225

原创 java异步回调模式

java的异步回调模式,是指当类A实现了CallBack接口,A类包含了B类的引用,在A类中调用B类的方法,然后在B类的方法中调用A类的callback方法。异步体现在:A类通过新起一个线程执行B类的方法,至于该方法有没有执行完,暂时不用去等待。下面是一个回调代码示例:类A实现了一个CallBack接口,来计算一个数的平方,在A类中调用B类的方法来计算,B通过回调返回计算结果。package ca...

2018-05-16 19:41:51 2960 1

原创 求N的阶乘的位数

方法一:对于任何一个自然数,判断它的的位数,可以使用lg(N)+1来计算。那么对于N!的位数,自然有log10(N!)+1,根据展开原则,有lg(N!)=[lg(N*(N-1)*(N-2)*......*3*2*1)]+1=[lgN+lg(N-1)+lg(N-2)+......+lg3+lg2+lg1]+1具体代码:public static void main(String[] args){ ...

2018-04-25 10:35:34 3643

原创 判断质数

质数是只能被1和它自身整除的数。public class Test1 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); for(int i=2;i<n;i++){ if(...

2018-04-24 11:42:49 137

原创 JDK源码分析 Integer 静态内部类IntegerCache

源码如下:private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high value may be co...

2018-04-21 18:45:58 271

原创 JDK源码分析 Integer parseInt()源码分析

java.lang.integer 源码分析一般情况下,编程的基础类库支持2进制到36进制。if (radix < Character.MIN_RADIX) { throw new NumberFormatException("radix " + radix + " less th...

2018-04-21 18:17:58 408

原创 计算机编码知识

ASCII传统的ASCII编码:范围0-127 总数量128  每个字符占有1byte 8个bit位 最高位为奇偶校验码表示在00000000------>01111111范围内,具体字符为:后来世界各地都开始使用计算机,但是很多国家用的不是英文,他们的字母里有许多是ASCII里没有的,为了可以在计算机保存他们的文字,他们决定采用 127号之后的空位来表示这些新的字母、符号,还加入了很多画表...

2018-04-20 15:55:26 386

原创 vim操作

打开匹配查找功能(匹配查找:在进行查找时就会显示出不断匹配的过程。例如你想查找的内容是include,在打开这个选项后,当你输入/i,光标定位在i上,再继续输入n光标定位在in上,如此直到查打到所要求的内容)打开命令:set incsearch, 关闭这个选项的命令为::set noincsearch; vim跳到指定行在编辑模式下输入ngg 或者 nGn为指定的行数(如2

2015-05-15 18:06:00 327

原创 Ubuntu下安装Apache+PHP+MySQL

安装apache,在命令行终端中输入一下命令:$ sudo apt-get install apache2安装完成后,重启apache服务,在命令行终端中输入一下命令:$ sudo /etc/init.d/apache2 restart1. 删除apache在命令行中输入:$ sudo apt-get --purge remove apache-common

2015-05-14 22:13:11 365

原创 qt开发环境的安装与配置

Qt是一款非常好的跨平台的C++图形用户界面应用程序框架

2014-11-20 15:55:38 481

原创 指针与数组

指针的本质是地址,数组的名称就是数组shou'wei'yuan's

2014-11-18 10:35:32 270

转载 函数参数问题

    引用是一个变量的别名,除用&取代*外,定义引用的方法与定义指针类似。例如:    double num1 = 3.14;   double &num2 = num1; // num是num2的引用    定义num2为num1的引用,它并没有复制num1,而只是num1的别名。也就是说,它们是相同的变量。例如,如果执行下面的语句:    num1 = 0.16;

2014-11-04 09:04:05 296

原创 指针的艺术——指针学习从零开始

感觉指针不得不认真学啊,躲不过去。

2014-11-02 14:21:39 801

原创 二叉树的基本操作

创建一棵二叉树,分别实现先序、中序和后序遍历一棵二叉树,计算二叉树结点个数等操作等。头文件:BTree.h#include#includeint couter=0;//全局变量,用于存储二叉树的叶子总数//二叉树链结点类:class BTreeNode{ friend class BTree; friend class Queue; int data; BTr

2014-10-25 11:01:48 348

unix网络编程代码

UNIX网络编程》(第1卷)(套接口API第3版)第1版和第2版由已故UNIX网络专家W. Richard Stevens博士独自编写。《UNIX网络编程》(第1卷)(套接口API第3版)是3版,由世界著名网络专家Bill Fenner和Andrew M. Rudoff执笔,根据近几年网络技术的发展,对上一版进行全面修订,增添了IPv6的更新过的信息、SCTP协议和密钥管理套接口的内容,删除了X/Open传输接口的内容。 《UNIX网络编程》(第1卷)(套接口API第3版)内容详尽且具权威性,几乎每章都提供精选的习题,是计算机和网络专业高年级本科生和研究生的首选教材,《UNIX网络编程》(第1卷)(套接口API第3版)也可作为网络研究和开发人员的自学教材和参考书。

2017-12-11

VC++6.0编程软件

VC++6.0编程软件

2014-03-14

空空如也

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

TA关注的人

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