1.缘起:假设我们的订单处理系统所要处理的订单是有优先级的,也就是说,不同的订单类型所要求被处理的紧迫程度不同,对那些优先级高的注单要先处理,对于优先级低的注单可稍后处理。对于处于同一优先级的订单了,就按照其到达的先后顺序进行处理。这是一个典型的管理具有优先级的对象的需求,注单就是具有优先级(WithPriority)的对象。我设计了ESBasic.ObjectManagement.Managers.IPriorityManager优先级管理器(确切地说,
系统 2019-08-29 22:05:26 2010
归并排序O(N*logN)是另一种效率很高的排序方法。"归并"的含义就是将两个或两个以上的有序表组合成一个有序表。加入两个有序表的长度分别为m、n,则一次归并的时间复杂度为O(m+n)。我们可以用"归并"的思想来实现排序。假如待排序列含有n个关键字,则可看成是n个有序的子序列,每个序列长度为1,然后两两归并,得到[n/2]个长度为2或1的子序列,在两两归并....,知道得到一个长度为n的有序序列为止。这就是2-路归并算法。下图就是2-路归并排序的一个例子:
系统 2019-08-29 21:59:43 2010
在研究strcat函数实现的时候,发现了while(*p++!=‘\0’)的大秘密,也让我发现了在上篇博客中我犯的一个错误。原以为跳出后,P指向'\0',而实际上并非如此!我按跳出后P指向'\0',结果怎么拼接都实现不了,NND。为了验证这个问题,我们先上个小程序吧:#includevoidmain(){char*p="abcdefg";while(*p++!='c');printf("%c\n",*p);}您猜打印出来的是几?结果是d。
系统 2019-08-12 09:29:59 2010
在AS3中,我们可以使用[Embed(source="asset.swf",symbol="symbol")]privatevarsymbolClass:Class;varsymbol:MovieClip=newsymbolClass();从艺术中嵌入一个符号的SWF在什么可能是一个代码构建的SWF。这是伟大的,但如果你要嵌入整个SWF?[Embed(source="asset.swf")]privatevarassetClass:Class;varass
系统 2019-08-12 09:27:17 2010
namespaceModel{publicclassMapperFactory{//声明一个ISqlMapper接口类型的数据映射器_mapper,其初始值为nullprivatestaticvolatileISqlMapper_mapper=null;//privatestaticlog4net.Appender.AdoNetAppenderadoApd=null;staticMapperFactory(){RefreshMapperSetting();
系统 2019-08-12 01:33:02 2010
背景由于工作性质,经常面对不同的问题,某些场景下SQL+Excel、常用办公软件不能处理,这时到网上找一些案例,自己动手用python处理。后续,借此博客记录比较典型的处理过程。后续,陆续实际处理的问题,如1.合并PDF2.拆分PDF3.敏感字段MD5脱敏4.从非架构化的大文本文件中提取指定条件的记录需求工作和生活中有时会遇到将多个pdf文件,合并成一个大文件的情况。例如,扫描时,普通扫描仪或打印机一页生成一个PDF,而一份资料实际多页。Adobe的收费版
系统 2019-09-27 17:57:30 2009
进程和线程进程是程序运行的实例。一个进程里面可以包含多个线程,因此同一进程下的多个线程之间可以共享线程内的所有资源,它是操作系统动态运行的基本单元;每一个线程是进程下的一个实例,可以动态调度和独立运行,由于线程和进程有很多类似的特点,因此,线程又被称为轻量级的进程。线程的运行在进程之下,进程的存在依赖于线程;开胃菜基于Python3创建一个简单的进程示例fromthreadingimportThreadfromtimeimportsleepclassCoo
系统 2019-09-27 17:57:01 2009
djangostatic文件夹下面的内容方法不了出现404500错误需要查看自己的settings文件确保有一下内容importosPROJECT_ROOT=os.path.dirname(__file__)DEBUG=TrueSTATIC_URL='/static/'STATICFILES_DIRS=(os.path.join(PROJECT_ROOT,'static'),)STATICFILES_FINDERS=('django.contrib.sta
系统 2019-09-27 17:56:54 2009
首先,什么是魔法方法呢?在python中方法名如果是xxxx()的,那么就有特殊的功能,因此叫做“魔法”方法。__init__()方法当一个实例被创建的时候调用的初始化方法,在创建对象时默认调用。__init__()方法中默认有一个参数名字为self,如果在创建对象时传递了2个参数,那么__init__()方法除了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)。之前我们是这样给对象添加属性的:classStudent:pa
系统 2019-09-27 17:56:52 2009
题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/920/157返回它的最大深度3。思路BFS广度优先搜索,使用双端队列deque(因为性能比另外两种Queue好得多),在大循环内对二叉树的每个层做一次遍历,range(len(queue))使只遍历当前的层,每次大循环ans加1。由于每个节点仅访问一次,所以时间
系统 2019-09-27 17:56:23 2009