自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 C++输入与输出—cout和cin的用法

输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。C++的输出和输入是用“流”(stream)的方式实现的。图3.2和图3.3表示C++通过流进行输入输出的过程。有关流对象cin、cout和流运算符的定义等信息是存放在C++的输入输出流库中的,因此如果在程序中使用

2013-04-30 00:41:08 139644 7

原创 动态规划系列

1. 从上面最顶点到下面最后一排的话,如果谈心算法就是选每一步最大的那个值,但是这样的原则不一定是整个可能选择中最大的那个。除非没有只能选择左右两个的限制。动态规划就是每一层中的每一个点到下面都有自己最佳的路线。也就是每个子问题也是最优的,问题的状态是选的第i行j个那个是最优的,就得选i+1行j或者j+1那个是最优的两个中一个比较大的那个。这是从上往下的过程。从下往上过

2013-04-28 16:53:49 744

转载 C++面试题:list和vector有什么区别?

C++面试题:list和vector有什么区别?考点:理解list和vector的区别出现频率:★★★★解析:vector和数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取(即使用[]操作符访问其中的元素),但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝(复杂度是O(n)),另外,当该数组后的内存空间不够时,需要重新申请一块

2013-04-27 12:59:48 816

转载 C++:运算符重载、string类重写、数据类型转换、->操作符重载、virtual继承、virtual函数、typeid

1.运算符重载谁调用了成员函数,谁就是当前对象。在C++中运算符操作就是函数。含有const或者引用成员变量时,构造函数要人为的初始化。Int i=9; cout>代码如下:istream & operator>> (istream &ism, person &p){ism>>p.id>>p.name; return ism;} 引用的名字不能和变量相同,如int &i=i是不行的。若

2013-04-27 12:50:17 963

原创 求数组中最长递增子序列

问题:求一个一维数组中最长递增子序列的长度。解法1:很明显用动态规划的算法,选取下面的阶段(这种选法极为常见),可使阶段间的关系具有无后效性。阶段:在所有以元素k结尾的子数组中,选出其中的最长递增子序列,k=1,2...n。状态:以元素k结尾的最长递增子序列中只有一个最长的递增子序列。决策:决定元素k结尾的最长递增子序列有k-1种获取的途径,前面以任何一个元素结尾的最长

2013-04-26 15:17:56 2007

原创 2.13子数组最大乘积

问题:给定一个长度为N的整数数组,只允许用乘法,不能用除法,计算任意(N-1)个数的组合中乘积最大的一组。解法一:采用空间换时间的策略,用两个数组分别记录原整数数组前缀与后缀的叠乘积(前缀s[i]=),再以间隔1个数的方式将这两个数组乘起来就得到所有n-1个数的乘积数组(具体看代码)。[cpp]#include  #include  using namespace

2013-04-25 21:27:37 649

原创 优化斐波那契

#includeusing namespace std;int Fibonacci(int n);int main(){ cout<< Fibonacci(10)<<endl; system("pause"); return 0;}int Fibonacci(int n) { long t, r;

2013-04-25 17:12:31 1075

原创 求两个链表的第一个节点

参考编程之美的第三章 234页。如果离链表有环的话,有环的节点肯定是共同的节点,通过标志位找环的节点或者通过链长度n以及循环的第n+1个节点肯定是第一个节点,然后用这个节点在第二个链中去遍历。 剑指offer上的193页,面试题37方法2:标记已经访问的节点 首先对每个节点添加一个标志位bVisited,表示这个节点有没有被访问过,初始为fals

2013-04-24 14:49:49 905

原创 递归之我见

我的感觉:之前因为一提到递归就是想到斐波那契数列,就认为递归就是每次都返回一个结果,让上一层的使用,但是里面到底是咋一层层的机制并没有搞清楚,今天看了几篇博客之后,有点感觉了,所以成文。递归我们总是说直接或者间接的调用自己,可是这句话永远都是会说,但是自己却没有理解。现在我的想法是可以把递归的调用当成是调用别的函数,因为函数调用的机制是,例如main()调用其他一个函数

2013-04-21 09:21:40 3518 1

原创 合并两个有序链表 递归和非递归的形式

因为两个链表head1 和head2都是有序的,所以我们只需要找把较短链表的各个元素有序的插入到较长的链表之中就可以了。之前的思路有问题,之前总是想新建个离链表把较小的放进来,这样浪费空间还浪费时间。源代码如下:1 node* insert_node(node *head, node *item) //head != NULL2 {3 node *p = head;

2013-04-19 20:38:06 2316

原创 C++ auto变量

auto:用来声明自动变量。它是存储类型标识符,表明变量(自动)具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。其实大多普通声明方式声明的变量都是auto变量,他们不需要明确指定auto关键字,默认就是auto的了。auto变量在离开作用域是会变程序自动释放,不会发生内存溢出情况(除了包含指针的类)。使用auto变量的优势是不需要考虑去变量是否被释放,比较安全

2013-04-19 15:52:40 9739 1

原创 new\delete,malloc\free的区别

1. new/delete是C++里才有的,而new/delete与malloc/free一个显著的区别在于,new是建造一个对象,并调用对象的构造函数来初始化对象,其实在所有的new操作过程中,总是分为两步的:第一步是申请内存,第二步则是调用构造函数初始化对象。同样,在调用delete的时候,需要先调用析构函数,然后在销毁堆内存。    2. new/delete通常来说是操作符,就是"+"

2013-04-19 15:17:34 669

原创 C++ 重写重载重定义区别

综上所述,总结如下:1 成员函数重载特征:   a 相同的范围(在同一个类中)   b 函数名字相同   c 参数不同   d virtual关键字可有可无2 重写(覆盖)是指派生类函数覆盖基类函数,特征是:   a 不同的范围,分别位于基类和派生类中   b 函数的名字相同   c 参数相同   d 基类函数必须有vir

2013-04-19 15:08:11 677

原创 编译程序

编辑——在开发工具里写程序预处理——加载一些头文件、宏替换编译——将.c 或者 .cpp文件转化为目标文件(.o)链接——将所有的.o及一些动态链接库文件(.exe  .dll等)整合到一块装入内存——把整合好的东东放入内存执行——获取CPU的控制权,开始运行编译程序也叫编译系统,是把用高级语言编写的面向过程的源程序翻译成目标程序的语言处理程序。编译程序把一个源程序翻译成目标程序

2013-04-19 11:23:13 749

原创 sql常用语句

1.HAVING 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用2.加外键"Persons" 表:Id_PLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon

2013-04-19 09:45:25 768

原创 字符串复制函数

1.strcpy原型声明:extern char *strcpy(char dest[],const char *src);头文件:#include string.h>功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的

2013-04-18 19:00:49 639

原创 第11章 继承与接口

1. 默认的构造函数2.RTTI (dynamic_cast 和 typeid) 知识扩展 143页,没看懂,继续查查143 页的扩展知识也没有看懂。3.点(.)问号(?)还有(. *) ( ::)不能进行运算符重载运算符重载一般采用 成员函数和友元函数形式,都能访问私有成员。关键字 operator,后面接一个运

2013-04-18 09:14:44 604

原创 以容器的方法找数组中的k个最小的数

typedef multiset > intSet;typedef multiset >::iterator setIterator;void GetLeastNumbers_Solution2(const vector& data, intSet& leastNumbers, int k){ leastNumbers.clear(); if(k

2013-04-17 15:53:29 677

转载 STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)

连续存储的元素Vectorc;c.back()    传回最后一个数据,不检查这个数据是否存在。c.clear()     移除容器中所有数据。c.empty()   判断容器是否为空。c.front()     传回地一个数据。c.pop_back() 删除最后一个数据。c.push_back(elem)  在尾部加入一个数据。c[i] 等同于 c.at(i)

2013-04-17 15:29:47 449

转载 白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇

白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇分类: 白话经典算法系列 Windows编程2012-09-10 02:08 6456人阅读 评论(10) 收藏 举报       在我的博客对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法进行了详细的讲解,并做成了电子书以供大家下载。下载地址为:http

2013-04-15 10:45:51 722

转载 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现

直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。 设数组为a[0…n-1]。1.      初始时,数组全为无序区为a[0..n-1]。令i=02.      在无序区a[i…n-1]中选取一个最小的元素,将其

2013-04-15 10:43:46 455

转载 c++构造函数详解(转)

2009-08-28 17:53:28|  分类: 编程|字号 订阅c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。                                        c

2013-04-10 11:32:38 425

原创 局部变量

全局变量是在main函数之前就分配局部变量在定义时分配,超出作用域后释放静态局部变量只分配一次,程序退出后才释放函数参数与局部变量基本上相同在进入函数时分配,函数结束时释放

2013-04-06 09:36:45 563

转载 归并排序(合并排序)

漫谈经典排序算法:四、归并排序(合并排序)分类: Data Structures And Algorithms算法merge数据结构c目录(?)[+]1、序言这是《漫谈经典排序算法系列》第四篇,解析了归并排序。 各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经

2013-04-05 11:57:48 863

转载 rest服务器的搭建

rest服务器的搭建« Google Reader支持评论功能微软Windows Live照片库升级 »172009-3-13 8:16:46基于REST架构的Web Service设计  先前我曾经介绍过利用Apache Axis实现基于SOAP的Web Service实现技术和相关代码,总的来说,SOAP的Web Se

2013-04-05 11:10:10 6920

原创 C++类构造函数初始化列表

构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:class CExample {public:    int a;    float b;    //构造函数初始化列表    CExample(): a(0),b(8.8)    {}    //构造函数内部赋值    CExample(

2013-04-05 11:07:53 493

原创 c++中new和delete的使用方法

new和delete运算符用于动态分配和撤销内存的运算符new用法:          1.     开辟单变量地址空间               1)new int;  //返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a.                2)int *a = new int(5) 作用同上,但是同时将整

2013-04-05 10:01:03 487

转载 2012微软暑期实习笔试题

1、Suppose that a selection sort of 80 items has completed 32 iterations of the main loop. How many items are now guaranteed to be in their final spot (never to be moved again)?A、16    B、31   C、32

2013-04-04 22:53:39 1310

转载 C语言一个队列的实现

队列也是常用的数据结构之一,下面给出一个链式队列的实现~~头文件Queue.h[cpp] view plaincopy#ifndef Queue_H  #define Queue_H    typedef int Item;  typedef struct node * PNode;  typedef struct nod

2013-04-04 15:21:09 749

转载 C语言一个栈的实现

栈是常用的数据结构之一,下面给出一个链式栈的实现~~头文件Stack.h[cpp] view plaincopy#ifndef Stack_H  #define Stack_H    typedef int Item;  typedef struct node * PNode;  /*定义栈节点类型*/  typede

2013-04-04 15:19:25 785

一个很好的Flex的中文帮助文档 很不容易搞到的啊

一个很好的Flex的中文帮助文档 很不容易搞到的啊

2009-06-30

空空如也

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

TA关注的人

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