5 zhou753099943

尚未进行身份认证

脚步一直不会停

等级
TA的排名 2w+

两个区间映射关系详解/c++

1、首先给一个两个区间映射的公式:2、最近做项目中频繁用到区间转换,在网上找了许多例子都只有公式介绍,没有直接可用的代码,所以自己写一个给大家参考3、直接给实现代码:struct Interval{ Interval(): min(0.0), max(1.0){} Interval(const double &_min, const double &amp...

2019-10-31 17:02:31

二叉搜索树的后序变量序列

题目:输入一个整数数组,判断该数组是不是一颗二叉搜索树的后续遍历的结果分析://输入一个整数数组,判断该数组是不是一颗二叉搜索树的后续遍历的结果//如果是返回true,否则返回false//分析:由于二叉搜索树的特性,左子树一定小于根节点,右子树一定大于根节点//所以在一颗二叉搜索树中不会出现两个相同的节点,bool IsBST(int arr[],in

2017-05-12 23:50:06

QSqlDatabase: QMYSQL driver not loaded

最近在用QT链接mysql数据库,在链接的时候一直出现QSqlDatabase: QMYSQL driver not loaded,在网上找了好多教程,无赖都没有解决我的问题,首先说一下这个解决的是QT5.7以上的版本,因为它自带mysql数据库,但需要配置QODBC(设置方法:http://jingyan.baidu.com/article/8065f87f38b31423312498e4.

2017-05-12 23:47:09

将字符串中的所有空格去掉,要求时间复杂度O(N)

//题目:将字符串中的所有空格去掉,要求时间复杂度O(N)//空间复杂度O(1)//感想:最开始我以为这个题目很简单,但面试的时候由于紧张,没有写得特别优化,所以被小米给刷了,贼伤心的//条件的控制很重要,我当时就是因为紧张,条件没有控制好,现在想想真是很尴尬,//面试出来后我都有一种想法我他妈就不适合当程序员#include using namespace std;#include

2016-09-30 17:21:05

链表基本操作详解

注释:这段时间在参加校招,问了很多链表的问题,虽然都可以完全不错的写出来,但却花了不少时间,一怒之下我就把链表的基本所有操作都重新编写一遍备注:适合于才学链表和有一些链表操作的经验的同学看,代码全部都可以通过,可以放心使用头文件:list.h#include #include using namespace std;#include struct Node{ int val

2016-09-15 10:03:06

智能指针详解

重点:学习智能指针,看这偏博客就够了,讲得很详细,特别用心去写的博客原文出自:http://www.cnblogs.com/Lynn-Zhang/p/5699983.html博客园首页新随笔管理随笔 - 48  文章 - 2  评论 - 5智能指针 auto_ptr、scoped_ptr、shared_pt

2016-09-02 11:27:21

求数组(元素可为正数、负数、0)的最大子序列和。

int max_sum(int *arr,int len){ assert(arr); assert(len > 0); int sum=0; int key=-INT_MAX; for(int i=0; i<len; ++i) { if(sum <= 0) sum=arr[i]; else sum+=arr[i]; if(sum >= key)

2016-08-14 12:56:59

快速排序

int partion(int *arr,int low,int heigh){ int key=arr[low]; while(low < heigh) { while(low =key) --heigh; arr[low]=arr[heigh]; while(low < heigh && arr[low] <= key) ++low; arr[heigh]=

2016-08-14 12:55:29

编写一个memmove函数,实现内存拷贝

void* my_memmove(void *des,const void *src,int size){ char *Des=(char*)des; char *Src=(char*)src; assert(Des && Src); int len=strlen(Src); assert(size >0 && size <len); if(Des Src+len) { wh

2016-08-14 12:53:34

C/c++常见面试题

【C语言部分】一、概念问答题:1、static在C和C++里各代表什么含义 (语言)解析:1、static主要修饰变量、函数、成员变量和成员函数2、修饰变量表明变量的生存周期,生存周期随进程,进程结束才结束3、修饰函数,表明函数的作用域只限于本文件使用4、修饰成员变量和成员函数只针对于C++才有,也表示生存周期和作用域5、static修饰的变量默认被初始

2016-08-13 23:04:09

学生成绩管理系统

解析:最近帮朋友做的一个相当于课程设计的学生成绩管理系统,她们要求是用c语言写,对于一个用惯c++的孩子来说真是感觉写起来的各种限制真心感觉到无语,不说了直接上代码#include "student.h"void main(){ char ch='0'; int index=0; char id[ID_SIZE]; student students; student ph

2016-07-05 00:30:53

打印1到最大的n位数

解析:打印1到最大的n位数,首先因为n的大小没有确定,所以就得分两种情况考虑,假如n在整数范围内,当n小于INT_MAX时,直接用处理整数的方式来计算,否则就得将n转化成字符串来处理,具体整数处理,请看代码//打印1到最大的n位数bool print_number(char *str,int n){ int top=0; //从个位开始算起 for(int i=n-1; i>=0;

2016-06-29 01:49:22

进程和线程的区别

操作系统面试题1、进程和线程的区别?解析:(1)进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元        (2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。     (3)进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的

2016-06-27 20:53:51

Linux 进程间通信(IPC)

Linux 进程间通信(IPC)说明:首先要声明一点,我接下来要写的都针对在面试的时候被问的一些详解1、为什么要有进程间通信?解析:因为进程间通信主要是强调在不同的进程间交换数据,而数据的交换必须依靠内核来实现,任何一个进程的全局变量在另一个进程中都是看不见的,所以内核开辟了一块缓冲区,进程A将数据放入内核,进程B从内核将数据取走,就实现了进程间通信2、进程间通信有几种通信

2016-06-27 20:49:31

非递归实现二叉搜索树转化成双链表

题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。      10  / \ 6 14 / \ / \4 8 12 16     转换成双向链表4=6=8=10=12=14=16。分析:代码难理解的地方我都已经注释了,为什么要写非递归的实现,是因为我在看剑指offer的时候,上面是递归实

2016-06-24 15:32:48

二叉搜索树的后序遍历序列

题目:输入一个整数数组,判断该数组是不是一颗二叉搜索树的后续遍历的结果,如果是返回true,否则返回false分析:由于二叉搜索树的特性,左子树一定小于根节点,右子树一定大于根节点,所以在一颗二叉搜索树中不会出现两个相同的节点bool IsBST(int arr[],int len){ assert(arr !=NULL); if(len < 0) return fals

2016-06-24 10:04:36

输入两个整数m和n,计算m需要改变多少位才能得到n

题目:输入两个整数m和n,计算m需要改变多少位才能得到n?解析:        这个题我最开始是没有思路的,想了很久才有点思路,思路的来源是把他们转化成二进制后才有的       例如:(5)的二进制:0101  (3)的二进制:0011       如果要把5变成3的话,需要改变:2次,因为第一位0和最后一位1都相同        所以不需要改变,做法,先将两个数

2016-06-22 21:36:55

旋转数组的最小值

题目:把一个数组最开的若干个元素搬到数组的末尾,我们称之为数组的旋转,输入一个递增排序的的数组的一个旋转,输出旋转数组的最小元素,例如:数组{3,4,5,1,2}旋转后为{1,2,3,4,5},该数组的最小值为:1解析:        这是最近在看剑指offer,然后就看到这道题了,然后上面的解法有两种:1、也是最容易想到的一种,将数组按升序排序一下,然后数组的第一个数就是最小值,

2016-06-22 21:03:55

只创建在堆上生成的变量详解

解析:今天在看Effective C++时,看到了抽象函数详解那块,于是很自然的就想到了以前看过的一道题:创建只在堆上生成的变量。这题换句话说:只能用指针创建变量,即Type *value=get_point();类似于这样的问题,有两种方法可以完成这个问题:1、第一种,也是最能先想到的一种,将构造函数放在private(私有)里,这样就无法在栈上定义变量了,这种很简单,基本学过class

2016-06-20 22:36:55

打印1到最大的n位数

解析://打印1到最大的n位数//最开始是看剑指offer实现的,但看着有点晕,于是自己经常调试后总结出来的//所以如果看不怎么懂的时候将代码写出来然后调试,调试后就知道它是怎么运行的//注释的部分是剑指offer上实现的,bool increment(char *str){ //bool is_over_flow=false; int tmp=0; //int nTake

2016-06-19 01:29:53

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。