自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 工作记录

受我们家傻子的影响,我又要继续写写写。 作为数据库方面的小菜鸟,希望自己有所成长。 在最近两天的工作中,遇到了一个很多问题,一一记录逐个深究。 1.由于不了解create table selece 的表的复制,只是表结构的复制,并没有索引和默认值的复制,导致自己的数据特别的慢,7万条数据要跑5个多小时 2.order by 和rownum 3.insert into select 4...

2018-03-06 23:59:10 274

原创 数组中的逆序对

求数组中的逆序对实际上有两种方法第一种直接暴力解决,两次循环,搞定,但是时间复杂度较高o(n^2), 另一种方法就是利用归并排序的方法,时间复杂度也就是归并排序的时间复杂度是O(N*lnN)时间紧迫直接上代码:#include <iostream>;using namespace std;int InversePairsCore(int*arr,int start,int end,int*co

2016-09-17 14:25:07 512

原创 cin ,getline的用法总结

cin,getline的用法

2016-09-07 16:49:46 2496

原创 0-1背包问题分析及代码实现

0-1背包问题动态数组申请

2016-08-30 21:39:20 3555

原创 求字符串中最长对称字符串的长度

求字符串中最长对称字符串的长度, 例如google中最长对称字符串的个数是4 iqiyiyiq中最长对称字符串的个数是6; 这种题目呢,不知道如何用语言表达清楚自己的思路,也许是自己理解的不够清楚吧,但是这种题目利用具体事例就可以将代码写出来; 代码如下:#include<iostream>#include<string>using namespace std;int isSymmet

2016-08-29 21:17:01 1875

原创 给定一个长度为N的数组,找出一个最长的单调自增子序列

在牛客网上看到了这么道题给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱) 例如:给定一个长度为8的数组A{1,3,5,2,4,6,7,8},则其最长的单调递增子序列为{1,2,4,6,7,8},长度为6.结果做了一下午最终发现思路是错的,看了答案豁然明朗了,所以赶紧记录下来。答题思想就是如果后者比前者大并且前者递增数组的长度+1大于后者递增数组的长度,就说明满足,

2016-08-18 23:29:35 8296

原创 将char字符转换成int整型,字符串与整型之间的相互转换

int 与字符之间的转换int与字符串之间的转换

2016-08-03 11:41:23 44496 4

原创 二叉排序树与双向链表的转换

前几天见到过这个题,觉得打破了自己老套的思路,所以记录了下来。 题目是:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的节点,只能调整结点指针的指向。如图所示10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 今天又看到了这道题吗,可惜前几天看的都

2016-07-23 11:34:47 840

原创 数组指针与指针数组

数组指针,顾名思义就是指向数组的指针,形如 char(*a)[4],就是变量名为a的指针指向一个字符数组。 如果输出char a[5]={‘A’,’B’,’C’,’D’}; char (*p3)[5] = &a; cout<<*p3; 则输出 ABCD cout<<**p3;则会只输出 A co

2016-07-14 21:36:43 309

原创 char类型的输入

今天在写程序的时候发现对字符类型进行输入数字时,会出现意想不到的意外。 例如char data; cin>>data; 当我想要输入数字123时,但是实际上data只是读入了1 如图所示 因为char只接受1个字符,没有啥子办法撒,只好换个类型了

2016-07-13 16:38:34 8000

原创 操作系统中的内存分配

连续的内存分配内存通常有两个区域 - 存放操作系统的区域 - 存放用户进程的区域 将多个进程存放到内存中需要考虑如何将输入队列中需要调入内存的多个进程进行内存分配。采用连续内存分配时,每个进程位于一个连续的内存区域。内存分配方法固定分区分配 将内存分为多个固定大小的分区,每个分区只能容纳一个进程。当进程终止时,其分区可以被其他进程所利用。 现在这种方案已经不再使用,主要用于批处理的

2016-07-02 22:17:44 1042

原创 cin,cin.get(),cin.getline()

今天写代码的时候遇到了这样的问题,对于字符串或者是字符数组进行cin输入的时候,遇到空格就会结束,例如: string str1; char str[]; cin>>str; cin>>str1; 如果输入 we are happy. 但是实际上str 或者str1只是读入了we 因为cin遇到Enter、Space、Tab键时,读入结束。所以当要输入有空格的字

2016-06-17 18:39:21 413

原创 二维数组作为形参进行传递

在剑指offer中有道二维数组查找的问题,需要进行二维数组的参数传递,经过查阅知道对二维数组进行参数传递时,形参需要知道第二维的维度。 函数原型如下:bool search(int a[][4],int key,int rows,int columns){二维数组int a[4][4]={1,2,8,9, 2,4,9,12, 4,7,10,13, 6,8,11,15};

2016-06-17 15:50:58 601

原创 简单选择排序的代码实现与思考

简单选择排序,每次在n-i+1个记录中选取最小的记录,作为有序序列中的第i个记录,选择排序的时间复杂度是O(n2),空间复杂度是O(1),是一种稳定的排序算法。 代码如下:#include<iostream>using namespace std;int selectMin(int *a,int i,int len){ int minIndex=i; int min=a[i

2016-06-06 15:27:10 459

原创 归并排序的代码实现与思考

在严蔚敏的数据结构中的链表部分就写了归并排序,在10.5中也实现了归并排序,只是是对一个未排序数组进行的例如未排序数组49,38,65,97,76,13,27,49.首先是要对该数组进行分割,对分割的进行排序,也就是2路归并排序。代码实现如下:#include<iostream>using namespace std;void Merge(int *a,int *temp,int low,int

2016-06-06 14:36:12 646

原创 中国移动笔试有感

被3号的中国移动给深深地虐了,以前想阿里阿这样的大企业虐了就没啥子感觉,依旧是嘻嘻哈哈,像恒生这样的企业,笔试对我来说还是比较容易的虽然面试被耍了(说明还是需要多读书啊),但是像中国移动这样的被深深的伤害了,我也不知道,为什么,笔试完特别不开心,心理默默的想必须要好好学习才行,绝对不能眼高手低,有些代码需要拈手就来。因为最后的三道题,全部是见过的,但是在他们的编译环境中竟然都没有通过,当然是因为我对

2016-06-06 00:43:08 9223 1

原创 堆排序的代码实现与思考

堆的定义如下:n个元素的序列{k1,k2,…,kn}当且仅当满足以下关系时,称之为堆。若将和此序列对应的一维数组看成一个完全二叉树,即堆的含义表明安全二叉树中所有非终端节点的值均不大于(或不小于)其左右孩子节点的值。堆顶元素则必是堆顶最大值或最小值。具体的分析在严蔚敏的《数据结构》上已经说的很清楚很明白了。作为总结,说一下在代码实现中需要注意的两点。 第一,无序序列构造堆,方向是从叶子节点到根节点

2016-06-01 20:45:59 348

原创 快速排序递归与非递归代码实现与思考

有的时候也是不知道是为什么,就像高中数学王老师说的那样,熟能生巧,不理解的要学会接受,慢慢就会理解了。大二的时候进行数据结构课程设计,我选做的一个是将快速排序的递归程序修改成非递归的形式,我记得我当时修改了好久好几,总是觉得这个非递归不能办到,但是当时根本没有想到用栈的思想,现在又重新学习数据结构,知道了递归与栈之间的关系。在剑指offer这本书中读到递归的本质就是栈结构,所以将递归函数拆成非递归的

2016-05-30 17:11:44 642

原创 关于回文的解体以及解题方法

牛客网网上的一道腾讯的题目,题目如下:给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子: abcda google输出例子: 2 2 。 简单的大

2016-05-30 00:04:23 486

原创 more effective C++的读书笔记 ——不要重载&&和||

在more effective C++中告诉我们不要重载&&和||。原因如下 1.重载&&或者||可能会违反短路计算法 2.重载是一个函数,而函数中没有告诉我们先要计算哪个参数,也是违背短路计算发。

2016-05-11 17:22:12 293

原创 i++与++i的区别--读书笔记

还记得大一的时候C语言老师说,现阶段,你们只需要记住前置++与后置++的区别就是在赋值的时候会有区别,其他的时候没有区别。他说的这句话在考试的时候百用不错。可是现在的阶段用这句话就不够用了,我查了 more effective C++把自己的一些体会记录下来。首先先贴上书上的代码自己用眼瞅一眼: 看到这段代码之后就会立刻明白前缀与后缀的不同: 1.返回值不同,前缀返回的是引

2016-05-11 16:41:48 280

原创 二路插入排序的思考与代码实现

二路插入排序,如果第一个作为比较划分为两个部分的那个关键字选得好的话,那么移动的次数就会减少很多,比较的次数也会减少很多,但是需要有n个空间辅助,忽然想起本科的数据结构老师说要么用时间换空间,要么用空间换时间,后来又听说现在计算机内存都够用的,感觉又跑偏了……,没办法受酱油师兄的影响实有点大,话语间总有他的风格。 写这个程序的时候,有几点需要注意: 1.final指针和first指针不一样,fi

2016-05-11 11:41:12 617

原创 折半插入排序的代码实现与思考

对于大量的数据,直接插入排序的比较与移动的次数会比较多,在直接插入排序的基础上,为了减少比较的次数,实现了折半插入排序。 折半插入排序主要分为两个部分,第一部分就是找到待排数字应该插入的位置,第二部分就是移动数据,将待排数据插入有序数列中。 数据结构和直接插入排序的数据结构相同,在折半插入排序的代码如下void BInsertSort(sqList L,int len){ //这个是利

2016-05-10 12:18:52 1639

原创 直接插入排序思考与代码实现

在直接插入排序中,在严蔚敏的书中说是需要设置哨兵,哨兵的作用是避免数组出界,所以在第一个位置设置哨兵,在经过思考这算法对我来说最值得学习的地方就是在比较的同时移动位置,这样会减少时间复杂度 void SIS(sqList &L,int len) { //这里有非常值得学习的地方,那就是在比较的同时直接进行移动 //这个是有哨兵的 if(len<=1) return;

2016-05-09 17:32:15 977 1

原创 二元查找树与排序的双向链表的转换

这道题目来自 1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 首先我们定义的二元查找树节点的数据结构如下: struct BSTreeNode { in

2016-04-24 20:07:55 490

原创 数组形参

在刷题的时候遇到了这样的一道问题在32位的机器中voidexample(characWelcome[]){    printf("%d",sizeof(acWelcome));    return;}voidmain(){    characWelcome[]="Welcome to Huawei Test

2016-03-25 00:23:06 751

原创 类类型的指针初始化与内存的释放

在刷题的时候遇到了这样一个问题,说是一个class A{ A(){};然后在main函数中定义了A*a;问是不是调用了构造函数,答案是并没有调用。因为只是声明了指针,并没有实例化对象,所以并不能调用构造函数,所以需要进行实例化即 a=new A;这样就可以调用构造函数了,因为使用new申请的空间是在堆区,是永久存在的,所以需要人工释放,即delete a,在释放的同时析构函数被调用#inclu

2016-03-23 14:04:28 1547

原创 数组写入Txt 与读Txt到数组 C++

因为需要保存一些二维数组的数据,所以在写入到Txt,与从Txt中读出到数组中还是不很理解,上网查了很久,发现很多都是讲了很多理论的,不适合刚刚入门的小菜鸟,于是我这只菜鸟就写了个菜鸟版的,其中讲述组的数据写入到Txt,和将TxT 中的数据读入到数组。废话少说直接上代码:#include#include#include  #includeusing namespace std;

2016-03-05 15:19:55 14836 1

原创 动态申请二维数组

最近做的事情中用到了动态数组,但是小菜菜很是不是很熟悉,因此特地记录了下来,希望下次再用到的时候就不会忘了图像本身就是二维的数组,想对每个像素进行处理保存数据,动态的申请二维数组是少不了的,因此有了一下的代码:    IplImage * src=cvLoadImage("C:\\Users\\CMH\\Desktop\\0001.png",0);  //参数是0就会转化成灰度图

2016-03-04 20:39:17 579

原创 二维数组动态申请 malloc

在有些情况下,是在程序运行一段时间之后,才能知道数组的大小,这就需要动态的申请数组,在C/C++中常用的方法是malloc,最近的实验中用到了,便记录下来,废话少说,上代码:int **Arry;int m,n;cin>>m;cin>>n;Arry=(int**)malloc(m*sizeof(int*));for(int i=0;i{            Arry[

2016-01-18 20:11:15 599

原创 结构体数组指针memset

今天是用到了结构体指针,感觉自己真的是弱爆了,应该会有很多像我一样的菜鸟,会出现这样的错我,错误的代码是 strArry* GrientArr; memset(GrientArr,0,sizeof(strArry));然后就会出现错误之所以出现这样的错误是因为,GrientArr的指针是空指针,没有分配地址,所以编译器报错说没有进行初始化,也应该让指针分配有地址所以

2016-01-15 10:59:57 4798

原创 cvGet2D用法

cvGet2D的函数原型是CvScalar cvGet2D( const CvArr* arr, int idx0, int idx1 );其中idx0表示的是图像中的height,idx1表示的是图像中的width

2015-12-06 00:33:02 1787

原创 VS2010编译器错乱

今天VS2010编译器被我搞晕了,因为我把同一个工程都放在了桌面上,然后把其中的一个进行了改动,保存,然后把改动的进行调试,其中没有进行改动的原工程中仍然设有断点,但是在调试的时候我发现,改动的工程是按照原工程的断点进行的,而且改动的地方没有生效,完全是按照原工程进行的,我想编译器被我搞晕了,也可能是没有把原来的Debug删除就调试的结果(这是后来想到的),然后把改动的工程删除了,在原来的工程上进

2015-11-18 15:22:12 571

原创 肤色检测

椭圆模型 肤色检测 红外线照射

2015-10-17 21:41:22 940

学生选课管理系统C#

数据库管理系统,其中包含了GridView,ListBox 等工具,虽然在这里的大婶来说可能是是小儿科,但是我急需积分,希望大家帮帮忙吧

2014-05-10

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

TA关注的人

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