07 2012 档案
摘要:堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2602简单的0-1背包问题代码如下:#include #include using namespace std;int value[1001], volume[1001];int record[1001][1001...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1003求最大子段和问题,用动态规划即可解决。b[j] = max{b[j - 1] + a[j], a[j]}代码如下:#include using namespace std;const int N = 1000...
阅读全文
摘要:先提一个简单的问题,如果有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无语来评...
阅读全文
摘要:1. 介绍本文介绍了比较初级的图搜索算法,包括深度优先遍历,广度优先遍历和双向广度优先遍历。2. 深度优先遍历DFS2.1 算法思想从图中某个顶点v开始,访问此节点,然后依次从v中未被访问的邻接点出发深度优先遍历图,直到图中上所有和v有路径相通的顶点都被访问;若此时图中尚有顶点未被访问,则另选图中一...
阅读全文
摘要:KMP算法KMP 匹配算法是由 "Knuth Morris Pratt" 提出的一种快速的模式匹配算法。hint:不为自身的最大首尾重复子串长度1.待解决的问题:假设P为给定的子串,T是待查找的字符串,要求从T中找出与P相同的所有子串,这称为模式匹配问题。 (可以给出子串在T中的位置) (下文中提到...
阅读全文
摘要:my_printf.h:[csharp]view plaincopyexternvoidmy_printf(constchar*format,...);my_printf.c:[csharp]view plaincopy#include"my_printf.h"#include"stdarg.h"/*********************************************************************************************************************/voidprintch(
阅读全文
摘要:先看这样的代码1voidMyNew(int*p)2{3 p=newint;4}56intmain()7{8int*p=NULL;9 MyNew(p);10}开始写了一篇:函数中分配内存的问题(点击进入),通过说明他们产生了拷贝,而导致p不能成功分配。但并未提出事实根据,下面我们来仔细看看具体原因。我...
阅读全文
摘要:c语言里有个很少用到的宏 #line,这个宏通常是和__LINE__宏一起使用的,__LINE__宏表示当前c语句在源文件中的行数,以前也只是在书上看到过,写过一些实例小程序,实际应用中并无使用。 好了,废话不说,举个例子来说明 #line宏的使用: 1:#include "iostream" 2:#line 100 3:using namespace std; 4: 5:int main(int argc, char* argv[]) 6:{ 7:cout<<"__LINE__:"<<__LINE__<<endl;
阅读全文
摘要:您正在看的C语言教程是:#pragma 预处理指令详解。在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数。(1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的
阅读全文
摘要:一、预处理的由来:在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个。C++从C语言那里把C语言预处理器继承过来(C语言预处理器,被Bjarne博士简称为Cpp,不知道是不是C Program Preprocessor的简称)。二、常见的预处理功能:预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,条件编译、布局控制和宏替换4种。文件包含:#include 是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。条件编译:#if,#ifndef,#ifdef,#endif,#undef等也是比较常见
阅读全文
摘要:其存储位置一般从右至左进行存储即:data: c(6bits) | b(2bits) | a(8bits).依编译器而定,TMS320的DSP的CCS按右至左的顺序。对于位域的定义尚有以下几点说明:0)位段成员的类型必须指定为unsigned int类型;1)一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始;2)由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度,也就是说不能超过8位二进位。3)位域可以无位域名,这时它只用来作填充或调整位置。无名的位域是不能使用的在某些机器上, 位段总是
阅读全文
摘要:听到好几个朋友说到去一些公司做面试,总是遇到关于大小端、位段(或者叫位域)和内存对齐的考题,然后就不知所措了。虽然我认为很多开发根本就用不到这个,但是我认为很有必要学习理解这些知识点,因为它可以让你更了解C++的,了解程序在内存的运行情况,也能加深对计算机系统的理解。声明:由于本文的代码会受到计算机环境的影响,故在此说明本篇博文中的程序的运行环境。 1、Microsoft Windows 7 Ultimate Edition Service Pack 1 (64bit 6.1.7601) 2、Microsoft Visual Studio 2010 Version 10.0.40219.1 S
阅读全文
摘要://1.现有char a[10][20],回答下面表达式各代表的意义:a, a+1, a[1]+1, *a[1], *a, &a[1][1], &a[1] //a做左值时,类型就是char[10][20]; 做右值时退化为一个指针,其类型是char(*)[20] //a+1: 类型是char(*)[20],指向a[1], 所以a+1在值上与&a[1]相同 //a[1]+1:类型是char *; 指向a[1][1]; //*a[1]:类型是char, 相当于a[1][0]; //*a:类型为char[20], 退化为指针之后类型是int *, 指向a[0][0] //&a
阅读全文
摘要:大家都是抱着对算法与数据结构极大的兴趣才参加集训的,我们也希望大家学有所成,但是刚刚接触信息学领域的同学往往存在很多困惑,不知道从何入手学习,在这篇向导里,我希望能将自己不多的经验与大家分享,希望对各位有所帮助.一、语言是最重要的基本功无论侧重于什么方面,只要是通过计算机程序去最终实现的竞赛,语言都...
阅读全文
摘要:[Shell/批处理]代码view sourceprint?01#!/bin/bash02# Info : install tools for ubuntu03# Author : elain04# CTime : 2011.08.010506#-------------------------------------------07#--------- 删除一些没用的软件 ------------08#--------------------------------------force-yes -y-------09sudoapt-get remove totem totem-gstrea
阅读全文
摘要:今天在使用宏来传递可变参数时遇到无法正确传递问题,在网上搜索到如下文章,共享之。众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生各种型别的代码(型别替换),那么宏其实可以为我们在符号上产生新的代码(即符号替换、增加)。关于宏的一些语法问题,可以在google上找到。相信我,你对于宏的了解绝对没你想象的那么多。如果你还不知道#和##,也不知道prescan,那么你肯定对宏的了解不够。我稍微讲解下宏的一些语法问题(说语法问题似乎不妥,macro只与preprocessor有关,跟语义分
阅读全文
摘要:酷壳:http://CoolShell.cn/原文:http://coolshell.cn/?p=2583下面是一些比较重要的算法,原文罗 列了32个,但我觉得有很多是数论里的或是比较生僻的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的 很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述 的很专业了)A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该
阅读全文
摘要:参考:维基百科、本BLOG 内经典算法研究系列10篇文章。博主说明:1、本文囊括了图算法领域中的全部20个重要算法,并从中甄选出了此十大算法。2、此十大算法的评选是以我个人之见而选,其它虽未囊括于10之内,但都在本文中有所提到。-------------------------------------------第一章、基本遍历一、深度优先搜索二、广度优先搜索此图遍历中最基本的俩种算法,BFS,DFS,入选本图算法十大算法,自是无可争议。因为,这俩种搜索算法,应用实为广泛而重要。关于此BFS、DFS算法,更多,请参考:经典算法研究系列:四、教你通透彻底理解:BFS和DFS优先搜索算法http:
阅读全文
摘要:教你怎样解除电脑开机密码!!!先记下来,以后总会有用到的!!!此方法仅供计算机教师交流,严禁作为非法手段使用!方法一在开机时,按下F8进入”带命令提示符的安全”模式输入”NET USER+用户名+123456/ADD”可把某用户的密码强行设置为”123456″方法二如用户忘记登入密码可按下列方法解决1.在计算机启动时按〔F8〕及选〔Safe Mode With Command Prompt〕2.选〔Administrator〕后便会跳出〔Command Prompt〕的窗口3.用〔Net〕的命令增加一个用户,例:增加一个用户名为alanhkg888,命令语法如下:net user alanhk
阅读全文
摘要:没有加什么模板之类的,全用的int型,下标有的从0开始有的从1开始1.插入#include#include#defineN1005usingnamespacestd;intn,a[N];voidInsertSort(inta[],intn)//下标从0开始{inti,j,temp;for(i=1;i...
阅读全文
摘要:目标:明年进入 百度、搜狐、新浪、中兴、腾讯、华为 等一些大公司做研发。长期规划是这样的:先找一家大公司,然后在里面待上两年,挣些钱出来。这样自己就有三年的工作经验,然后,就可以找地儿安家。方向:通信、或安全。计划:1. 复习C/C++/STL,做一些面试题,然后能够进行整理和归纳。2. 复习数据结构 主要有 排序和查找。把树相关的东西好好的整理下。多做一些算法相关的题目。3. 学习下网络编程。 看看网络编程技术那本书。4. 继续学习Windows内核方面的知识。理解Windows的底层实现。其实以上任务主要就是整理这一年学习的东西,然后转化成自己的知识。///////////////////
阅读全文

浙公网安备 33010602011771号