12 2017 档案

设计模式之工厂模式(Factory模式)
摘要:在面向对象系统设计中经常遇到以下两类问题: 1)为了提高内聚(Cohesion)和松耦合(Coupling),我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。这里很容易出现的一个问题n多的子类继承自抽象基类,我们不 阅读全文

posted @ 2017-12-21 20:18 wsw_seu 阅读(399) 评论(0) 推荐(0) 编辑

接口继承与实现继承
摘要:所 谓接口继承,就是派生类只继承函数的接口,也就是声明;而实现继承,就是派生类同时继承函数的接口和实现。 我们都很清楚C++中有几个基本的概念,虚函数、纯虚函数、非虚函数。 虚函数: 虚函数是指一个类中你希望重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用 阅读全文

posted @ 2017-12-20 21:39 wsw_seu 阅读(334) 评论(0) 推荐(0) 编辑

设计模式之工厂模式
摘要:工厂模式属于创建型模式,大致可以分为三类,简单工厂模式、工厂方法模式、抽象工厂模式。听上去差不多,都是工厂模式。下面一个个介绍,首先介绍简单工厂模式,它的主要特点是需要在工厂类中做判断,从而创造相应的产品。当增加新的产品时,就需要修改工厂类。有点抽象,举个例子就明白了。有一家生产处理器核的厂家,它只 阅读全文

posted @ 2017-12-20 20:50 wsw_seu 阅读(268) 评论(0) 推荐(0) 编辑

C++的四种强制转型形式:
摘要:C++同时提供了四种新的强制转型形式(通常称为新风格的或C++风格的强制转型): const_cast(expression)dynamic_cast(expression)reinterpret_cast(expression)static_cast(expression) 每一种适用于特定的目的 阅读全文

posted @ 2017-12-20 17:13 wsw_seu 阅读(1552) 评论(0) 推荐(0) 编辑

手写atoi、strcpy、strcat
摘要:一:实现atoi函数 二、实现strcpy函数:char *strcpy(char *dst, const char *src); 如果不考虑内存重叠: 上面的实现没有考虑内存重叠,调用 char str[10]="abc"; my_strcpy(str+1,str); 会出错。然而调用系统的str 阅读全文

posted @ 2017-12-18 19:53 wsw_seu 阅读(420) 评论(0) 推荐(0) 编辑

进程和线程关系及区别
摘要:1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈 阅读全文

posted @ 2017-12-15 18:20 wsw_seu 阅读(115) 评论(0) 推荐(0) 编辑

海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)(转)
摘要:先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。建堆时间复杂度是O(mlogm),算法的时间复杂度为O(nmlogm)(n为10亿,m为10000 阅读全文

posted @ 2017-12-15 14:12 wsw_seu 阅读(281) 评论(0) 推荐(0) 编辑

什么是死锁,简述死锁发生的四个必要条件,如何避免与预防死锁
摘要:什么是死锁 死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。例如,在某一个计算机系统中只有一台打印机和一台输入 设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时打印机正被进程P2 所占用,而P2在未释放打印机之前,又提出请求使用正被P1 阅读全文

posted @ 2017-12-14 12:17 wsw_seu 阅读(911) 评论(0) 推荐(0) 编辑

linux中几个文本文件查看命令
摘要:Linux中,常用的文本文件查看命令介绍如下: 1. cat 用法: cat [options] filename options: -A: 显示全部. -E: 在每一行的后面加上"$"符号结尾. -b: 在所有的非空白行上标示编号. 2.tac cat这个单词的倒写, 把文件的内容从最后一行开始输 阅读全文

posted @ 2017-12-14 12:00 wsw_seu 阅读(655) 评论(0) 推荐(0) 编辑

linux c 线程间同步(通信)的几种方法--互斥锁,条件变量,信号量,读写锁
摘要:Linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量、信号量和读写锁。 下面是思维导图: 一、互斥锁(mutex) 锁机制是同一时刻只允许一个线程执行一个关键部分的代码。 1 . 初始化锁 其中参数 mutexattr 用于指定锁的属性(见下),如果为NULL则使用缺省属性。 互斥锁 阅读全文

posted @ 2017-12-14 10:00 wsw_seu 阅读(14246) 评论(0) 推荐(0) 编辑

为何条件变量要和互斥量联合使用
摘要:In Thread1: pthread_mutex_lock(&m_mutex); pthread_cond_wait(&m_cond,&m_mutex); pthread_mutex_unlock(&m_mutex); In Thread2: pthread_mutex_lock(&m_mutex 阅读全文

posted @ 2017-12-14 09:56 wsw_seu 阅读(2810) 评论(0) 推荐(0) 编辑

堆和栈的区别(转)
摘要:一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 阅读全文

posted @ 2017-12-11 09:55 wsw_seu 阅读(130) 评论(0) 推荐(0) 编辑

python 迭代器(转)
摘要:迭代器 迭代器是在python2.2中被加入的,它为类序列对象提供了一个类序列的接口。有了迭代器可以迭代一个不是序列的对象,因为他表现出了序列的行为。当在python中使用for循环迭代一个对象时,调用者几乎分辨不出他迭代的是一个迭代器对象还是一个序列对象,因为python让他(迭代器)像一个序列那样操作。 如何迭代 本质上说迭代器是个对象,但是这个对象有个特殊的方法next()(在pyt... 阅读全文

posted @ 2017-12-08 16:48 wsw_seu 阅读(1936) 评论(0) 推荐(0) 编辑

丑数
摘要:题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 分析: 思路:按顺序把每个丑数放在数组中,求下一个丑数 下一个丑数必定由有数组中的某一个丑数A * 2, B 阅读全文

posted @ 2017-12-05 20:39 wsw_seu 阅读(163) 评论(0) 推荐(0) 编辑

把数组排成最小的数
摘要:题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,3 阅读全文

posted @ 2017-12-05 10:34 wsw_seu 阅读(98) 评论(0) 推荐(0) 编辑

Maximum Subarray(最大连续子串)
摘要:1 class Solution { 2 public: 3 //动态规划,维护两个变量 local[i+1]=max(array[i],local[i]+array[i+1]) 4 int FindGreatestSumOfSubArray(vector array) { 5 int len=array.size(); 6 if(l... 阅读全文

posted @ 2017-12-01 15:24 wsw_seu 阅读(98) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示