自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(200)
  • 收藏
  • 关注

原创 时间复杂度

一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0时,时间复杂度就是O(2^n);a=0,bO(n^3);a,b=0,cO(n^2)依此类推eg:(1) for(i=1;i //循环了n*n次,当然是O(n^2) f

2017-05-19 20:39:55 2216

原创 数据库存储与文件存储

其区别在于:(1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据。(2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离。(3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据。(4)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。 其联系在于:(1)均为数据组织的管理技术。(2)均由数据

2017-05-18 12:18:42 2515

原创 聊天室30问

Linux 即时通信软件项目答辩问题集合一、项目的概述1.简单介绍一下你这个项目?2.谈谈项目的实现架构?3.图示项目的数据处理流程?4.做项目的时候遇到过什么问题,是如何解决的?5.为什么选择做这个应用方向的项目?意义是什么?6.通过做这个项目,你收获有哪些?(做项目的注意事项)二、关于知识点1.makefile的作用是什么?

2017-05-17 15:49:13 547

原创 希尔排序算法

希尔排序算法定义:          希尔排序是插入排序的一种,也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。算法思想:          希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰好被分为一组,算法终止。   时间复杂度:    

2017-05-15 18:30:03 284

原创 数组指针 指针数组

数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;    

2017-05-14 20:42:25 320

原创 链表 进栈出栈遍历清空

#include #include #include // 定义一个节点的结构typedef struct node{ int member; //数据域 struct node * pNext;//指针域}Node,*pNode;// 定义一个栈结构typedef struct stack{ pNode Top;

2017-05-13 15:04:20 599

原创 优秀程序设计的18大原则

1、避免重复原则(DRY - Don’t repeat yourself)编程的最基本原则是避免重复。在程序代码中总会有很多结构体,如循环、函数、类等等。一旦你重复某个语句或概念,就很容易形成一个抽象体。2、抽象原则(Abstraction Principle)与DRY原则相关。要记住,程序代码中每一个重要的功能,只能出现在源代码的一个位置。3、简单

2017-05-12 12:01:20 341

原创 求线段长

这个程序是书上例题,主要是辅助理解组合类[cpp] view plain copy #include   #include     using namespace std;    class Point  //定义Point类  {      public:          Point(int xx= 0, 

2017-05-11 11:31:25 283

原创 数据在计算机中的存储形式和运算

一、数据概述以C语言为例,里面所有的基本数据类型,都是以符合人类世界和自然世界的逻辑而出现的。比如说int,bool,float等等。这些数据类型出现的目的,是更于让人容易理解,可以说,这些数据类型是架通人类思维 与 计算机的桥梁。我们知道。依照冯诺依曼体系,计算机中并没有这些int  float等等,而全部都是0和1表示的二进制数据,并且计算器只能理解这些0和1的数据。所

2017-05-10 15:25:29 1565

原创 课设

接入网课程设计,配置路由器交换机,课设结束还要补课,很烦

2017-05-09 12:12:41 403

原创 OSTaskSwHook

void OSTaskSwHook(void)    File    Called from Code enabled by  OS_CPU_C.C  OSCtxSw() and  OSIntCtxSw()    OS_CPU_HOOKS_EN          当执行任务切换时都会调用该函数。全局变量OSTCBHighRdy指向得到CPU的任务的TCB,而OSTCBC

2017-05-08 19:07:28 1095

原创 野指针

讨论一什么是野指针?  一个母亲有两个小孩(两个指针),一个在厨房,一个在卧室,(属于不同的代码块,其生存期不同)母亲让在厨房的小孩带一块蛋糕(指针指向的对象)给在卧室的小孩,这样在卧室的孩子才肯写作业。但这个在厨房的小孩比较淘气,他在走出厨房时自己将蛋糕吃了,没能带出来。而在卧室的没有吃到蛋糕,所以不肯完成他的作业。结果母亲却不知道卧室的孩子没有吃到蛋糕,还以为作业完了。结果第二天她

2017-05-07 10:01:20 275

原创 视频格式

视频格式 ●AVI格式:它的英文全称为Audio Video Interleaved,即音频视频交错格式。它于1992年被Microsoft公司推出,随Windows3.1一起被人们所认识和熟知。所谓“音频视频交错”,就是可以将视频和音频交织在一起进行同步播放。这种视频格式的优点是图像质量好,可以跨多个平台使用,其缺点是体积过于庞大,而且更加糟糕的是压缩标准不统一,最普遍的现象就是高版本Wind

2017-05-06 17:49:38 278

原创 三次握手四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!!错误配图如下:首先Client端发送连接请求报文,Server

2017-05-05 16:01:45 206

原创 CS和BS

1.什么是C/S结构C/S (Client/Server)结构,即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。C/S结构可以看做是胖客户端架构。客户端实现绝大多数的业务逻辑处理和界面展示,作为客户端的部分需要承受很大的压力,从分利用客户端的资源,对客户机的要求较高。其实现可以

2017-05-04 13:23:21 437

原创 打地鼠

TR0=1; while(1) { //开启定时器0 Temp1 = SONG[Addr++]; if (Temp1 == 0xFF) //休止符 { } else if (Temp1 == 0x00) //歌曲结束符 { TR0=0; return; //关闭定时器0 TR0 = 0; delayus(100); //关闭定时器0 } else { } } //正常播放歌曲 Temp2 = SO

2017-05-03 10:11:22 438

原创 链表

链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文对链表相关的面试题做了较为全面的整理,希望能对找工作的同学有所帮助。链表结点声明如下:struct ListNode{    int m_nKey

2017-05-02 17:07:37 316

原创 指针

//已知数组内容如下 s[] = {1,2,3,4,5,6,7,8,9},输入一个常数 m(1//数组后移3个位置后的内容为{7,8,9,1,2,3,4,5,6}#include int main()  {      int a[] = {1,2,3,4,5,6,7,8,9};      int b[9] = {0};      int *p = a;     

2017-05-01 19:54:55 207

原创 AD

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

2017-04-27 09:42:42 298

原创 if 1 endif if 0

今天在看程序时,发现一个函数中使用的很多的 #if 1......#endif#if 0......#endif因为没有用过,感到有点莫名。如是上网查找答案。终于明白是用来注释编译内容的。意思是说:#if 1    需要编译器编译以下内容;#if 0   编译器不要编译以下内容;#if 0   #endif   这种用

2017-04-26 16:49:15 341

原创 计算机系统知识

专题一:计算机系统知识 1、计算机硬件基础知识: 1.1计算机系统结构  计算机的发展历史:   1946年,世界上第一台电子计算机ENIAC出现,之后经历了5个发展阶段:冯式结构计算机的组成部分:存储器、运算器、控制器、输入设备和输出设备。强化的概念: 计算机的工作过程:一般是由用户使用各种编程语言把所需要完成的任务以程序的形式提交给计算机,然后翻译成计算

2017-04-25 12:32:25 2157

原创 数据库常用命令

、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 表的详细描述select 中加上distinct去除重复字段mysqladmin drop

2017-04-24 12:51:24 238

原创 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 18:31:12 243

原创 全排列

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

2017-04-22 11:33:02 212

原创 段错误

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决。 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定

2017-04-21 12:56:16 419

原创 PCB的布线规则

PCB布局布线的一些常用的规则1 电源、地线的处理既使在整个PCB板中的布线完成得都很好,但由于电源、 地线的考虑不周到而引起的干扰,会使产品的性能下降,有时甚至影响到产品的成功率。所以对电、 地线的布线要认真对待,把电、地线所产生的噪音干扰降到最低限度,以保证产品的质量。 对每个从事电子产品设计的工程人员来说都明白地线与电源线之间噪音所产生的原因, 现只对降低式抑制噪音作以表述: 众所周

2017-04-20 17:15:49 772

原创 程序在内存中的分布

2017-04-19 12:45:34 241

原创 TCP丢包

如果通信中发现缺少数据或者丢包,那么,最大的可能在于程序发送的过程或者接收的过程出现问题。 例如服务器给客户端发大量数据,Send的频率很高,那么就有可能在Send时发生错误(原因可能是又多种,可能是程序处理逻辑问题,多线程同步问题,缓冲区溢出问题等等),如果没有对Send失败做处理重发数据,那么客户端收到的数据就会比理论应该收到的少,就会造成丢数据,丢包的现象。 这种现象,其实本质上来说不是

2017-04-18 14:48:40 1366

原创 main.c

#include #include #include #include "mmu.h"#include "typedef.h"#include "s3c2451_gpio.h"#include "s3c2451_uart.h"#include "s3c2451_irq.h"#include "S3C2451_vector.h"#include "S3C2451_Timer.h"

2017-04-17 11:02:41 239

原创 救护车

#includereg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义    sbit SPK=P1^2;    //定义喇叭端口  unsigned char frq;     void DelayUs2x(unsigned char t);//函数声明   void DelayMs(unsigned char t);    void

2017-04-16 18:39:31 303

原创 警车

#includereg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义    sbit SPK=P1^2;    //定义喇叭端口  unsigned char frq;     void DelayUs2x(unsigned char t);//函数声明   void DelayMs(unsigned char t);    void

2017-04-15 21:22:39 285

原创 喇叭发声原理

#includereg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义    sbit SPK=P1^2;    //定义喇叭端口    void DelayUs2x(unsigned char t);//函数声明   void DelayMs(unsigned char t);    main()  {   while(1)  

2017-04-14 12:40:09 906

原创 看门狗溢出测试

#includereg52.h>    sfr  WDTRST  =   0xA6;                  sbit key = P3^1;               //喂狗  void Rst_Watchdog( void )  {      WDTRST  = 0x1E; //先赋值1E 然后赋值E1      WDTRST  = 0

2017-04-13 10:30:16 2123

原创 聊天室服务器基本代码

#include #include #include #include #include #include #include #define SER_PORT 3333struct message{ int action; char name[20]; char passwd[10]; char toname[20]; char ms

2017-04-12 22:13:01 382

原创 SQL查询语句

1、(1)查询person表中所有不重复的职称use pay115select distinct professorfrom person (2)查询person中男员工的信息use pay115select *from personwhere sex = '男' (3)查询person表中00102部门女员工

2017-04-11 12:49:28 1718

原创 tree命令的模拟

include fcntl.h>  #include unistd.h>  #include stdio.h>  #include dirent.h>  #include string.h>  #include sys/stat.h>  #include sys/types.h>  #include stdlib.h>    void scan_dir(char

2017-04-11 12:46:27 446

原创 T1外部计数输入

#includereg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义    sbit LED=P1^2;    //定义LED端口      void Init_Timer1(void)  {   TMOD |= 0x10 | 0x40;     //使用模式1,16位计数器,使用"|"符号可以在使用多个定时器时不受影响         

2017-04-09 22:10:49 777

原创 T0外部计数输入

#includereg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义    sbit LED=P1^2;    //定义LED端口      void Init_Timer0(void)  {   TMOD |= 0x01 | 0x04;     //使用模式1,16位计数器,使用"|"符号可以在使用多个定时器时不受影响         

2017-04-08 16:17:54 1945

原创 邮箱

邮箱邮箱是µC/OS-II中另一种通讯机制,它可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量。该指针指向一个包含了特定“消息”的数据结构。为了在µC/OS-II中使用邮箱,必须将OS_CFG.H中的OS_MBOX_EN常数置为1。使用邮箱之前,必须先建立该邮箱。该操作可以通过调用OSMboxCreate()函数来完成(见下节),并且要指定指针的初始值。一般

2017-04-06 21:08:24 391

原创 keil常见警告

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

2017-04-05 22:10:40 1536

空空如也

空空如也

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

TA关注的人

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