自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(206)
  • 资源 (1)
  • 收藏
  • 关注

原创 send(),recv()函数

1.send 函数int send( SOCKET s, const char FAR *buf, int len, int flags );      不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。    该函数的第一个参数指定发送端套接

2017-08-03 16:23:45 331

转载 链表类面试题

1、清空链表跟销毁链表的区别链表本身是一个数据结构,清空是把链表中的元素清空,但链表还存在,销毁则是把链表这个结构的内存都释放了。。清空是链表没节点,但是链表还在,可以继续插入节点。销毁就是链表没了,整个链表的空间都被释放了,不能进行任何操作了。就像一个杯子,把杯子里的水倒掉叫清空,把杯子砸碎叫销毁。。清空链表与销毁链表的代码如下:#include "stdlib.h"

2017-05-04 20:11:42 305

原创 N皇后问题的两个最高效算法

N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击)。一、 求解N皇后问题是算法中回溯法应用的一个经典案例       回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。      在现实中,有很多问题往往需要

2017-05-03 21:54:58 657

转载 Main函数中参数argc,argv说明

C/C++语言中的main函数,经常带有参数argc,argv,如下: [cpp] view plain copyint main(int argc, char** argv)         这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运

2017-05-02 18:14:28 301

原创 哼。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

就不给你好好更,,,,

2017-04-30 21:07:55 442 1

原创 哼。。。。你就是懒

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,哼,,,,,,小发一下气愤,,,,,,,

2017-04-29 21:01:29 254

转载 快速判断一个数是否是2的幂次方,若是,并判断出来是多少次方!

将2的幂次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个1,并且1后面跟了n个0; 因此问题可以转化为判断1后面是否跟了n个0就可以了。        如果将这个数减去1后会发现,仅有的那个1会变为0,而原来的那n个0会变为1;因此将原来的数与去减去1后的数字进行与运算后会发现为零。       最快速的方法:      (number & number -

2017-04-27 20:55:03 477

原创 AD.c

#include "S3C2451_adc.h"//#define ADCCON (*(volatile unsigned *)0x58000000)//#define ADCTSC (*(volatile unsigned *)0x58000004)//#define ADCDLY (*(volatile unsigned *)0x58000008)//#de

2017-04-26 21:02:03 358

转载 互换两个变量,不使用中间变量

第一种方法:a=a+b;b=a-b;a=a-b; 代码如下: [cpp] view plain copy#include "stdio.h"  int main(void)  {      int a,b;      printf("请输入两个变量a和b:/n");      scanf("%d %d",&a,&b);      printf("a和

2017-04-25 20:34:10 261

原创 构造函数的初始化列表

首先,运行下图中的C++代码,输出是什么?[cpp] view plain copyclass A  {  private:      int n1;      int n2;  public:      A(): n2(0) , n1(n2 + 2)      {      }      void Print

2017-04-24 21:36:15 275

原创 NAND.c

#include "nand.h"//#include "printf.h"static void NF_Reset(){NF_Enable();NF_Enable_RB();NF_Send_Cmd(NAND_CMD_RESET);NF_Check_Busy();NF_Disable();}#define TACLS   1#

2017-04-23 13:30:09 386

原创 S3C2451中RTC实时时钟

#include "S3C2451_rtc.h"#include "S3C2451_vector.h"RTC_MemMapPtr const   RTC_BASE_Ptr = RTC_BASE_PTR;Time_InitTypeDef rt_time;void RTC_IRQ_Init( U8 cnt,FunctionalState NewS

2017-04-22 14:11:57 266

原创 全排列算法及实现

全排列在很多程序都有应用,是一个很常见的算法,常规的算法是一种递归的算法,这种算法的得到基于以下的分析思路。  给定一个具有n个元素的集合(n>=1),要求输出这个集合中元素的所有可能的排列。        一、递归实现        例如,如果集合是{a,b,c},那么这个集合中元素的所有排列是{(a,b,c),(a,c,b),(b,a,c),(b,c,a),(c,a,b),

2017-04-21 14:14:46 316

转载 OpenGL实现3D立体显示

由于左眼和右眼观看显示器的角度不同,利用这一角度差遮住光线就可将图像分配给右眼或者左眼,经过大脑将这两幅由差别的图像合成为一副具有空间深度和维度信息的图像,从而可以看到3D图像。        完整的实现代码如下所示:[cpp] view plain copy#include "stdafx.h"  #include "GL/glut

2017-04-20 16:11:43 530

转载 七种方式求斐波那契(Fibonacci)数列通项

一:递归实现   使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1。二:数组实现   空间复杂度和时间复杂度都是0(n),效率一般,比递归来得快。三:vector实现   时间复杂度是0(n),时间复杂度是0(1),就是不知道vector的效率高不高,当然vector有自己的属性会占用资源。四:queue实现   当然

2017-04-19 22:03:25 543

转载 数据结构课程设计---------最少换车次数问题

问题描述: 设某城市有n个车站,并有m条公交线路连接这些车站。设这些公交车都是单向的,这n个车站被顺序编号为0~n-1。编号程序,输入该城市的公交线路数,车站个数,以及各公交线路上的各站编号。       实现要求:求得从站0出发乘公交车至站n一1的最少换车次数。       程序设计思路:利用输入信息构建一张有向图G(用邻接短阵g表示),有向图的顶点是车站,若有某条公交线路经i站能到达j

2017-04-18 19:32:14 1910

转载 用栈来实现表达式求值

1、需求分析设计一个程序,演示用算符优先法对算术表达式求值的过程。利用算符优先关系,实现对算术四则混合运算表达式的求值。(1)输入的形式:表达式,例如2*(3+4)     包含的运算符只能有'+' 、'-' 、'*' 、'/' 、'('、 ')';(2)输出的形式:运算结果,例如2*(3+4)=14;(3)程序所能达到的功能:对表达式求值并输出2、系统设计1、栈的抽象

2017-04-17 21:29:25 842

原创 程序在内存中的分布

在现代的操作系统中,当我们说到内存,往往需要分两部分来讲:物理内存和虚拟内存。从硬件上讲,虚拟空间是CPU内部的寻址空间,位于MMU之前,物理空间是总线上的寻址空间,是经过MMU转换之后的空间。一般我们所说的程序在内存中的分布指的就是程序在虚拟内存中的存储方式。从低地址到高地址,可分为下面几段: 预留内存地址(操作系统维护的内存地址,不可访问) 程序代码区(只读,存代码和一

2017-04-16 21:10:29 260

原创 不用+、—、*、/作运算

题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+、-、×、÷。        分析:这又是一道考察发散思维的很有意思的题目。当我们习以为常的东西被限制使用的时候,如何突破常规去思考,就是解决这个问题的关键所在。        看到的这个题目,我的第一反应是傻眼了,四则运算都不能用,那还能用什么啊?可是问题总是要解决的,只能打开思路去思考各种可能性。首先我们可以分析人们是

2017-04-15 13:16:10 308

原创 四道面试题

1、给定一个N个整数元素的数组,元素分别为A1, A2, A3....AN,每个元素分别对应一个权重W1(小于1的float), W2,W3....WN,其和为1,找出其中一个元素Ak,使所有小于Ak的元素的权重之和小于1/2,所有大于Ak的元素的权重之和>=1/2。        思路:首先将该数组按元素值的大小进行升序排列,同样的那个权值数组也要对应的进行排序,因为原先的那个数组的下标和权

2017-04-14 21:18:57 232

转载 约瑟夫环的数学优化方法

首先,约瑟夫环的数学优化方法为:        为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。      我们知道第一个人(编号一定是(m-1)%n) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m%n的人开始):      k k+1 k+2

2017-04-13 16:52:06 264

转载 四轴pid调试心得

首先例举第一个例子,我调的第一台四轴飞行器,十字型四轴飞行器,讲下配置: 网上一百多的650机架,好赢20A电调,新西达2212 1000kV,1045的桨,2200mah电池。 主控是STM32F103 这是第一个四轴的帖子 http://www.amobbs.com/thread-5539270-1-1.html采用位置式PID控制,位置式PID公式如下PID的

2017-04-12 16:52:27 1638

转载 二叉树两个结点的最低共同父结点

题目:二叉树的结点定义如下:    struct TreeNode   {              int m_nvalue;             TreeNode* m_pLeft;             TreeNode* m_pRight;};输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。       

2017-04-11 20:27:36 199

原创 pid控制算法通俗理解

本文以通俗的理解,以小车纵向控制举例说明PID的一些理解。(一)首先,为什么要做PID?由于外界原因,小车的实际速度有时不稳定,这是其一,要让小车以最快的时间达达到既定的目标速度,这是其二。速度控制系统是闭环,才能满足整个系统的稳定要求,必竟速度是系统参数之一,这是其三.    小车调速肯定不是线性的,外界因素那么多,没人能证明是线性的。如果是线性的,直接用

2017-04-10 21:36:58 1922 1

原创 单片机code声明的作用

code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVX(好像是),因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。程序可以简单的分为code(程序)区,和data (数据)区,code区在运行的时候是不可以更改的,data区

2017-04-09 22:38:48 680

转载 卡尔曼算法详解(C++程序)

在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人!卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器

2017-04-07 14:40:11 6151

转载 转自一个计算机毕业生的求职经验

1、简介毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾。首先说说我拿到的offer情况:微软,3面->终面,搞定百度,3面->终面,口头offer搜狗,2面,悲剧腾讯,1面,悲剧布丁移动,3面,搞定涂鸦游戏,3面,搞定友盟,3面->CEO面,搞定雅虎,4面->终面,搞定微策略,2面,悲剧人民搜索,3面->终面,

2017-04-06 15:35:44 4677 3

原创 keil中常见的几种警告

keil中常见的几种警告,固然,相对于错误的,警告的程度不及错误的严重性,有时候忽略,会出现意想不到的错误。先看看常见的几种错误,分析出来现的原因。1. Warning 280:’i’:unreferenced local variable说明 局部变量 i 在函数中未作任何的存取操作解决方法 消除函数中 i变量的宣告2 Warning 206:’Music3’:missi

2017-04-05 21:07:36 1250

原创 单片机code声明的作用

code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVX(好像是),因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。程序可以简单的分为code(程序)区,和data (数据)区,code区在运行的时候是不可以更改的,data区

2017-04-04 21:11:56 710

原创 keil4如何将数组清空

方法有两个一是使用for循环语句进行逐个赋值for(i=0;i{a[i]=0;}另一种则是使用有效长度来指定每次提取内容就是指定一个结束符号,每次只保存或提取到这个结束符号例如使用结束符号是空格,空格对应十六进制码为 0x20for(i=0;i{ b=a[i];         //提取内容  if(a[i]==0x20)  

2017-04-03 19:22:53 5949

转载 浅谈c++多态性

C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。  多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。  C++多态性是通过虚函数来实现的,虚函数允许子类重新定

2017-04-02 19:29:57 259

转载 C++中的单例模式

单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。       单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做

2017-04-01 13:03:49 199

转载 等概率随机函数的实现

题目:已知随机函数rand(),以p的概率产生0,以1-p的概率产生1,现在要求设计一个新的随机函数newRand(), 使其以1/n的等概率产生1~n之间的任意一个数。解决思路:可以通过已知随机函数rand()产生等概率产生0和1的新随机函数Rand(),然后调用k(k为整数n的二进制表示的位数)次Rand()函数,得到一个长度为k的0和1序列,以此序列所形成的整数即为1--n之间的数字。注

2017-03-31 21:13:48 181

转载 const详解

今天看了一下C++ Primer中关于const用法的介绍,讲得很好, 收益匪浅,于是做一个总结,方便以后再次查看。  但是c++在c的基础上新增加的几点优化也是很耀眼的,就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重。 一、const变量        1、限定符声明变量只能被读   const int i=5;   int j=

2017-03-30 15:32:45 199

转载 寻找最远点对

问题给定平面上N个点的坐标,找出距离最远的两个点。分析类似于“最近点对问题”,这个问题也可以用枚举的方法求解,时间复杂度O(n^2)。“寻找最近点对”是用到分治策略降低复杂度,而“寻找最远点对”可利用几何性质。注意到:对于平面上有n个点,这一对最远点必然存在于这n个点所构成的一个凸包上(证明略),那么可以排除大量点,如下图所示:在得到凸包以后,可以只在顶点上面找最远

2017-03-29 15:23:18 280

转载 二分搜索及其扩展

二分搜索需要注意开闭区间的问题,限制条件和边界要保持配对:low二分搜索的模板如下:[cpp] view plain copy// 二分搜索  int BinarySearch(int *num, int key, int low, int high)  {      int mid ;      while(low //切记

2017-03-28 16:47:13 193

转载 有序数组中位数问题

1、有两个已排好序的数组A和B,长度均为n,找出这两个数组合并后的中间元素,要求时间代价为O(logn)。2、假设两个有序数组长度不等,同样的求出中位数。一:解析: 这个题目看起来非常简单。第一题的话: 假设数组长度为n, 那么我就把数组1和数组2直接合并,然后再直接找到中间元素。对于这样的方案,第一题和第二题就没有什么区别了。这样的话时间复杂度就是O(n)。通常在这样的情况下,那些要求比

2017-03-27 21:19:17 691

转载 C++中智能指针的设计和使用

智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷

2017-03-26 13:52:22 147

转载 2015华为招聘题

第一题(60分):       按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”[cpp] view plain copy转载请标明出处,原文地址:http://

2017-03-25 14:20:00 332

原创 随记

要考二级了,刷二级题目了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-03-24 13:54:48 292

C++ 发送http 请求

C++ 发送http 请求

2020-12-29

空空如也

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

TA关注的人

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