自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极光.exe的小专栏

菜鸟,我的期待与渴望明天是否会更精彩

  • 博客(56)
  • 收藏
  • 关注

转载 笔试面试杂记

1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强

2014-03-21 19:23:16 637

转载 fstream的使用方法介绍

在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(  向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>)  从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin

2013-10-19 15:02:06 463

转载 typedef struct 在C和C++中用法的区别

1.typedef最简单的用法:typedef long byte_4;给已知数据类型long起个新名字,叫byte_42.typedef与结构结合使用typedef struct tagMyStruct{  int iNum; long lLength;} MyStruct;这个语句完成了连个操作:(1)定义一个新的结构类型:agM

2013-10-10 19:12:44 619

转载 计数排序

终于搞懂技术排序了,看了大牛的博客和公开课后,终于明白了#include using namespace std;// arr--初始输入数组, res--存放排序结果的数组,hash临时存储区[0...k]int arr[100], res[100], hash[100];int len, k = -1;void PrintHash(){ cout <<

2013-09-28 20:39:21 482

原创 Vector二维数组实现

#include#include#includeusing namespace std;typedef struct transaction{vectorread;}tran;int main(){vector table;int count=0;char s[1000];ifstream infile;tran t;char *p;

2013-05-06 21:16:12 591

转载 C++中利用vector来处理文本中保存的数据

最近在尝试利用C++做信号处理方面的仿真,于是就涉及到了大量数据的存储。由于在读取数据的时候,并不知道数据的长度,这时候,vector就很好用了,因为vector容器不用知道数组的长度。首先利用matlab生成一个很简单的整型数组,或者直接复制都行。代码(Matlab)[plain] view plaincopyclear,c

2013-05-06 13:23:42 1080

转载 typedef和typedef struct的区别

今天做的项目中,看师兄写的代码有typedef struct,可是自己之前一直都不是特别了解这个是具体代表什么意思,因为平时很少习惯用这个,一般都是直接就声明类了,所以上网查了下,现在有所明朗了。分三块来讲述:1 首先:      在C中定义一个结构体类型要用typedef:        typedef struct Student        {

2013-05-04 17:10:12 766

转载 快速排序

代码一.霍尔快排:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263

2013-05-02 20:27:46 527

原创 归并排序

Mark Allen Weiss的数据结构预算法分析,思路很清晰,用C++实现#include #includeusing namespace std;class MS{public:void mergesort(vector&a,vector&tmpArray,int left,int right);void mergeSort(vector&a);void

2013-05-02 14:17:12 485

原创 堆排序

#include using namespace std;void PrintArray(int data[],int size){for(int i=1;icoutcout};void MaxHeapify(int *a,int i,int size){int lt=2*i,rt=2*i+1;int largest;if(lta[i])larg

2013-05-01 23:52:31 477

原创 希尔排序实现

刚刚看了希尔排序的方法,然后就着书上的例程写了这个C++版的实现,目的是理解并消化这个排序的方法和思想#include #include using namespace std;void shellsort(vector &a){int j;for(int increment=a.size()/2;increment>0;increment/=2)for(int

2013-04-29 23:40:03 519

原创 插入排序的实现

继续每天抽时间看数据结构与算法,今天开始看第7章,排序这一章,应该是很多面试题和应用中用到的基础,所以看的要细一些,不过刚开始看插入排序就自己马大哈的疏忽了一个地方,导致程序写了半天才弄出来,还是手生的事,还得慢慢来#includeusing namespace std;void insert_Sort(vector &a){     int j;for(int p=1;p

2013-04-29 20:05:45 525

转载 二叉堆的实现

#include   #include     #define MAX_HEAP_SIZE 101    class BinaryMinHeap {  public:      BinaryMinHeap(int *heapArray);      BinaryMinHeap(int size);      ~BinaryMinHeap() {

2013-04-28 19:09:52 643

转载 算法时间复杂度分析

定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数 T(n)称为这一算法的“时间复杂性”。     求解算法的时间复杂度的具体步骤是:[1] 找出算法中的基本语句:算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。[2] 计算基本语句的执行次数的数量级:这就意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,可

2013-04-28 14:35:37 477

转载 static关键字

C/C++中的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类的问题。A.      面向过程程序设计中的static关键字1)      静态全局变量         在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。静态全局变量定义和使用类似:         #inclu

2013-04-27 21:14:10 495

转载 C++中如何在main()函数之前执行操作?

C++中如何在main()函数之前执行操作?           第一反应main()函数是所有函数执行的开始。但是问题是main()函数执行之前如何执行呢?           联想到MFC里面的 C**App类的theApp对象,其执行顺序就在main函数之前。道理相通,顺理推下,能够想到:如果在main函数之前声明一个类的全局的对象。那么其执行顺序,根据全局对象的生存期和作用

2013-04-19 11:05:13 1161

转载 递归实现二叉查找树 C++

把这些都写到博客中不是为了其他的目的,只是为了以后找工作的时候能提前看看复习一下,脑子里好有一些印象。#include using namespace std;templateclass TreeNode{public:TreeNode():lson(NULL),rson(NULL),freq(1){}T data;unsigned int freq;T

2013-04-14 17:13:36 559

转载 数据结构之线性表——倒数第k个结点

题目:已知一个带有头结点的单链表,结点结构为:datalink在不改变链表的情况下,设计一个尽可能高效的算法,查找链表中倒数第k个结点,若查找成功,输出该结点data的值,并返回1,否则返回0.分析:本题的关键是设计一个尽可能高效的算法,通过链表的一遍遍历,找到倒数第k个结点的位置。基本思想:定义两个指针变

2013-04-12 23:37:50 734

转载 判断一个数是否为素数

整数 m是素数的条件: 除 1 和 m外,没有其它因数。#include using namespace std;#include int main(){     long  m;     cout      cin >> m ;     double sqrtm = sqrt(m) ;  //函数sqrt是double类型

2013-04-12 23:22:00 685

转载 找出数组里面元素出现次数最多的问题

/*    问题:     在一个由自然数1-1000中某些数字所组成的数组中,每个数字可能出现零次或者多次。    设计一个算法,找出出现次数最多的数字。*/ #includevoid search(int a[],int len){      int i,index,max = 0;      int temp[1000] = {0}

2013-04-12 22:55:16 709

转载 数组求和问题

复杂度O(n) #include int MaxSeqSum(const int A[],int N){      int s1,s2,j;      s1 = s2 = 0;      for(j = 0;j       {               s1 += A[j];               if(s1 > s2)

2013-04-12 22:37:49 651

转载 精心整理的C语言面试题目

以下是各种题目:#语法问题:1.用typedef 定义一个包含10个整型的类型。注:typedef int NUMBER[10];NUMBER 声明为含有10个元素的数组类型。NUMBER n;n[0] =1;n为含有10个元素的数组。2.如何引用一个已经定义过的全局变量?答:extern可以用引用头文件的方式,也可以用ext

2013-04-12 22:16:24 832

转载 浅谈C++对象模型——理解构造函数、析构函数执行顺序

本文主要说明对象创建时构造函数的执行顺序,对象成员的初始化顺序;对象销毁时析构函数的执行顺序,对象成员的销毁顺序。       “对象的构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程。     一个有趣的现象是,成员对象初始化的次序完全

2013-04-12 14:49:54 710

转载 C++ this指针的理解

先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。(虽然比int char这样build-in类型复杂的多,但首先要理解它们一样是类型)。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了这个,就好解释this了,my里的this 就是指向my的指针

2013-04-12 14:34:13 439

转载 复制构造函数(拷贝构造函数)

也许很多C++的初学者都知道什么是构造函数,但是对复制构造函数(copy constructor)却还很陌生。对于我来说,在写代码的时候能用得上复制构造函数的机会并不多,不过这并不说明复制构造函数没什么用,其实复制构造函数能解决一些我们常常会忽略的问题。       为了说明复制构造函数作用,我先说说我们在编程时会遇到的一些问题。对于C++中的函数,我们应该很熟悉了,因为平常经常使用;对于

2013-04-12 13:38:59 569

原创 简单的链表反转 C++

#include using namespace std;class Node{public:int data;Node *next;};class Mylist{private:Node *head;Node *curr;int length;public:Mylist();~Mylist();void create(int v

2013-04-06 00:21:37 498

转载 OSI七层模型

学了计算机网络已有一定的时间,但总是对OSI模型不堪理解,今天梳理一下:这是window网络编程对OSI的解释。  以下是参考百度的:1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转

2013-04-05 17:09:04 537

原创 约瑟夫 C++

#include using namespace std;class Node{public:int data;Node *next;Node(){data=0;next=NULL;}};void Josephus(int n,int k,int m){ if(nreturn ; Node *pnode,*prenode,*cur

2013-04-05 16:19:07 760

转载 数据结构---队列的链表实现

#include using namespace  std;templateclass queueNode{public:T data;queueNode* next;};templateclass myqueue{private:unsigned int queuelength;queueNode* node;queueNode* fr

2013-04-02 14:48:52 410

转载 C++笔试面试一些题汇总

1.求下面函数的返回值( 微软)int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; }假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用

2013-03-31 20:54:41 501

原创 数据结构 栈的链表实现法

#include using namespace std;templateclass stackNode{public:T data;stackNode* next;};templateclass mystack{private:unsigned int stacklength;stackNode *node;stackNode *hea

2013-03-31 16:01:56 446

原创 C++链表应用:多项式相加

#include using namespace std;class poly{public:int coeff;int pow;poly*next;};class add2poly{private:poly *poly1,*poly2,*poly3;public:add2poly();void addpoly();void

2013-03-28 21:40:26 1176

原创 数据结构练习--双向链表的实现

自上次实现单向链表之后,开始看双向链表,无非就是增加了一个逆序的节点,这次编程比上次能严禁和结构清晰一些,也是慢慢编程应该培养的东西#includeusing namespace std;templateclass Node{public:T data;Node*next;Node*prior;};templateclass myslist{

2013-03-27 16:09:19 499

转载 关于Visual Studio 2010调试窗口一闪而过的解决方法

最近心血来潮决定给自己的本本升下级,由原来的 XP+VS2005 改成 Win7+VS2010 可是没想到问题来了。具体如下:        刚刚安装好VS2010决定试一下感觉,新建了一个c语言的空项目,写了一个“Hello world!”#includemain(){   printf("Hello World!");}按下Ctrl+F5 可是屏幕却一闪

2013-03-26 00:28:15 1572

转载 你凭什么说自己很努力

刚刚来北京的时候,对北京人有一个特别不满的印象,就是觉得他们好像除了清华北大,看其他学校都像是看二本。虽然厦门大学在福建那里算是翘首,在北京这边基本上不怎么对他们的口味。可能人越是身在异乡越爱国(校),遇到这类事情总觉得特别愤怒。但是今天也算是从某个程度上看到了北方高校的水平,我想,我们的差距确实存在。上这个班的时候,基本上只有40人左右,除了厦门大学法学院的人,其它基本上的都是来自北京大

2013-03-25 20:33:03 967

原创 数据结构练习--单向链表的实现

自己学习数据结构,写的第一个单向链表,水平真是差的要命,查了那么多相关的构造方法,不断的改,才实现这么个一个拙漏的一个方法,看来还得是自己慢慢学习,这个就当作一个成果吧,一点一点努力#includeusing namespace std;templateclass Node{public:T data;Node *next;};templatec

2013-03-23 22:12:48 1295

转载 java常见面试题及三大框架面试

Java基础方面:1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √ √ √ ×friendly √ √ × ×private √ × × ×不写时默认为friendly2、A

2013-03-14 21:41:05 35929 39

转载 Linux 下 C 开发—— gcc , gdb 的使用

我们学习的过程应该是一个积累的过程,有无到有,又少到多,而不能像下山的猴子。 9 月份的时候是第一次系统学习 gcc, gdb, makefile (详见前面博客)。如今作为嵌入式系统的一个组成部分,决定重学一次,感觉理解加深了一些。gcc 编译器前提编辑工具的使用: vi  vim  Emacs 等。理论篇gcc 可以使程序员灵活地控制编译过程。编译过程一般可以分为下面四个阶段,

2013-03-14 20:23:29 681

翻译 Linux之GCC经典入门教程

编译简单的 C 程序C 语言经典的入门例子是 Hello World,下面是一示例代码:#include int main(void){printf(“Hello, world!n”);return 0;}我们假定该代码存为文件‘hello.c’。要用 gcc 编译该文件,使用下面的命令:$ gcc -g -Wall hello.

2013-03-14 17:51:26 547

转载 Vim的行号、语法显示等设置,即.vimrc文件的配置

在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。  在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:  $vi ~/.vimrc

2013-03-14 10:30:56 507

空空如也

空空如也

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

TA关注的人

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