关闭

最长路径——百度2017校招机试题

解析:这道题目刚拿到手,很容易就确定是道优先搜索算法的题目,和我博客之前写的一道迷宫题目一致。根据题目,我们只要在输入的矩阵中找到最高点和最低点,然后从最高的地方开始4个方向的轮训,直到最后到达最低点。那既然是要求最长的奔跑路径,那么每次4个方向轮训肯定是要走当中值最大的那一个了。 #include #include using namespace std; typedef struct ...
阅读(25) 评论(0)

等差数列——2017网易校招机试题

如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。 小易现在有一个长度为n的数列x,小易想把x变为一个等差数列。小易允许在数列上做交换任意两个位置的数值的操作,并且交换操作允许交换多次。但是有些数列通过交换还是不能变成等差数列,小易需要判别一个数列是否能通过交换操作变成等差数列  输入描述: 输入包括两行,...
阅读(85) 评论(0)

I/O完成端口模型详解

首先摘抄一段《Windows核心编程》I/O完成端口的一段话:Windows的设计目标是一个安全的、健壮的操作系统,能够运行各种各样的应用程序来为成千上万的用户服务。回顾历史,我们能够采用以下两种模型之一来架构一个服务应用程序。 串行模型:一个线程等待一个客户发出的请求。当请求到达的时候,线程会被唤醒并对客户请求进行处理。 并行模型:一个线程等待一个客户请求,并创建一个新的线程来处理请求。当新...
阅读(59) 评论(0)

C++设计模式:简单工厂类模式<初探>

背景:主要是解决,在不同的情况下需要创建不同类型对象,然后对该对象进行操作。比如:任务类型,我们可能就分了:A任务,B任务,C任务...自然而然,我们首先会去定义个基任务类型:CBaskTask,然后派生出,CChildTask1、CChildTask2、CChildTask3...在不同的场景下,我们可能要建立不同的类型任务,然后对其进行操作。我们总不能用switch-case来进行判断吧,那当...
阅读(35) 评论(0)

ADO数据库编程

一、数据库操作准备 // --------------------------------------------------------------------------------------------------------------------------------- 1、导入ADO动态链接库   在工程的stdafx.h中加入如下语句:   #import...
阅读(53) 评论(0)

算法思维——深度优先搜索

以一道题目,作为介入点: 定义一个二维数组N*M(其中2 int maze[5][5] = {         0, 1, 0, 0, 0,         0, 1, 0, 1, 0,         0, 0, 0, 0, 0,         0, 1, 1, 1, 0,         0, 0, 0, 1, 0, }; 它表示一个...
阅读(54) 评论(0)

打印顺序——2017华为招聘机试题

某个打印机根据打印队列执行打印任务。打印任务分为九个优先级,分别采用数字1~9表示,数字越大优先级越高。打印机每次从队列头部取出第一个任务A,然后检查队列余下任务中有没有比A优先级更高的任务,如果有比A优先级高的任务,则将任务A放到队列尾部,否则执行任务A的打印。请编写一个程序,根据输入的打印队列,输出实际打印顺序。 函数原型: void printOrder(const int input[...
阅读(294) 评论(0)

括号匹配——2017华为招聘机试题

给定一个字符串,里边可能包含“()”、"{}"、“[]”三种括号,请编写程序检查该字符串的括号是否成对出现,且嵌套关系正确。输出:true:代表括号成对出现并且嵌套正确,或字符串无括号字符,false:未正确使用括号字符。 分析:这个题目,如果有做过较多笔试题目的应该知道,简单的采用一个栈的特性,就能解决,左括号栈顶字符必须和第一个入栈的右括号字符匹配; #include "stdafx.h"...
阅读(163) 评论(0)

C++远程DLL注入

这是个很古老的DLL注入技术,采用的是创建远程线程的方式。将LdadLibraryA的函数地址当做线程的回调地址,线程参数采用待注入DLL的绝对路径值。这个参数我们得采用VirtualAllocEx和WriteProcessMemory的方式在目标进程进行内存空间的申请和写入。废话不多说,贴上自己写的代码: DLL注入函数: bool Dll_Inject(DWORD& v_dwProcess...
阅读(98) 评论(0)

通过进程令牌启动新的进程

对于进程令牌(Token)比较常用的就是:explorer.exe这个进程的令牌,那么我们就以这个为例,通过explorer.exe的进程令牌启动一个新进程。启动进程的API为:CreateProcessAsUser。 首先获取explorer.exe的进程令牌Token: lpName我们传:"EXPLORER.EXE",返回的令牌在hToken; BOOL GetTokenByName(...
阅读(75) 评论(0)

UNICODE和UTF-8和ASCII互转

Unicode转UTF8,Ascii...
阅读(195) 评论(0)

C++操作Sqlite数据库

这篇文章,主要介绍的是:利用网上封装好操作sqlite3的类CppSQLite3DB,来进行数据的操作。由于源码是开放的,所以可以很清楚的知道执行open操作时,到底用了哪些Sqlite3借口,这里不再做详细介绍。 1、下载CppSQLite3.h和CppSQLite3.cpp这个封装好的源码文件; 2、下载Sqlite3文件,不知道的可以网上搜索下,主要有sqlite3.dll,sqlite...
阅读(202) 评论(0)

C++封装线程类

/** \file * Thread.h,定义线程创建和停止接口,通过内联函数提供给其它模块使用 * * \author Fzuim * * 版本历史 * \par 2014-7-7 * * * */ #pragma once #include typedef unsigned int (WINAPI *THREAD_FUNC)(LPVOID lpThreadParameter); ...
阅读(192) 评论(0)

C++计算当前时间点间隔N天的时间(不使用CTimeSpan类)

涉及到有效期的设置,需要计算N天时间间隔的时间。其实这只是个工具代码,记录下与己方便,便是与人方便。。 #define QUADPART 10000000i64 std::string CalTime(int v_nTimeSpan) { char chTime[MAX_PATH] = {0}; SYSTEMTIME Curtime; SYSTEMTIME OutTime; GetL...
阅读(312) 评论(1)

C++设计模式:职责链模式<初探>

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。其思想很简单,考虑员工要求加薪。公司的管理者一共有三级,总经理、总监、经理,如果一个员工要求加薪,应该向主管的经理申请,如果加薪的数量在经理的职权内,那么经理可以直接批准,否则将申请上交给总监。总监的处理方式也一样,总经理可以处理所有请求。这就...
阅读(134) 评论(0)

C++设计模式:观察者模式<初探>

观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。它还有两个别名,依赖(Dependents),发布-订阅(Publish-Subsrcibe)。可以举个QQ订阅的例子,当QQ订阅号发表新文章的时候,即状态发生了改变,那些订阅的读者就会收到通知,然后进行相应的动作,比如去看文章,或者收藏起来。订阅号与读者之间存在种一对多的依赖关系。...
阅读(134) 评论(0)

C++通过进程名获取进程句柄

记录下一段,比较常用的代码。 // 强杀定期删除进程 void CDogThread::Quit() { // 结束强杀定期删除进程 HANDLE hProcess = GetProcessHandle(L"LdFileOnTimeDel.exe"); if (hProcess != NULL) { TerminateProcess(hProcess, 0); } } //通过进...
阅读(1545) 评论(0)

FileZilla网络配置

FileZilla网络配置指南为FTP设置网络组件对于在LAN(局域网)外使用并不重要。 由于存在这么多防火墙和路由器,给出适合每个用户的详细的逐步指令是不切实际的。 重要的是了解FTP协议的基本知识,以便配置FileZilla和相关的路由器和/或防火墙。 本文档描述了FTP的历史以及协议的某些方面的工作原理。 仔细阅读它将为您节省大量的设置FTP的麻烦。 1. 背景1.1 历史背景 1.2 技术背...
阅读(1642) 评论(0)

C++线程池原理

本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。 为什么需要线程池        目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库...
阅读(90) 评论(1)

浅析FTP的工作原理

浅析FTP的工作原理  FTP协议概述 起初, FTP并不是应用于IP网络上的协议,而是ARPANEt网络中计算机间的文件传输协议, ARPANET是美国国防部组建的老网络,于1960-1980年使用。在那时, FTP的主要功能是在主机间高速可靠地传输文件。目前FTP仍然保持其可靠性,即使在今天,它还允许文件远程存取。这使得用户可以在某个系统上工作,而将文件存贮在别的系统。例如,如果某用户运行W...
阅读(221) 评论(1)
52条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:20537次
    • 积分:656
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:7篇
    • 译文:1篇
    • 评论:6条