- 博客(42)
- 资源 (2)
- 收藏
- 关注
原创 WinForm 开发
<br /> 好久没写博客了,最近一直在忙着intel和Microsoft两边实习,其实主要还是intel那里项目比较紧张,主要是.NET开发,WinForm编程,刚刚调试完,修复2个bug,说实话,这样的压力学习对于我还是很实用的,学到很多东西
2011-05-17 02:30:00 464
原创 如何对于Map类型按值排序
<br /> 标准库没有提供Map的Sort函数,事实上也不可以,因为这样造成不安全,通过以下方法可以间接的实现Map类型的按值排序。<br /> typedef pair<string, int> PAIR; int cmp(const PAIR& x, const PAIR& y) { return x.second > y.second; } map<string,int> m;
2011-03-25 03:21:00 987
原创 叛逃Intel
<br /> 好久没更新了,回家过了一个年,新学期开始了,开始学习了!!<br /> 实习叛逃到Intel,以后实习方便多了骑车直接过马路就到了。<br />
2011-02-24 15:25:00 559
原创 Topcoder 第一题 SRM493 250 AmoebaDivTwo
<br /> 这题足足搞了2天,包括读懂题目,创建类,编译,调试,等等,遇到N多问题,感叹任何事情开头是最难的,只要熬过去以后就简单多了,继续坚持!!<br /> 明天继续上班实习~争取明年进微软或者IBM!<br /> int AmoebaDivTwo::count(vector<string>table, int K){ int ans = 0; int i,j,z; for(i = 0; i < table.size(); ++i){ for(j = 0; j <
2011-01-24 01:06:00 618
原创 实习offer到手
<br /> 昨天累趴了,从早上到晚上,2个面试,总共面了7轮,Tellabs研发中心和百度,1点到2点404轮在Tellabs,面完直接拿到offer,然后迅速奔下楼打的去不远的百度,3点到5点面了2轮,百度说一周内给答复,感觉应该问题不大,5点直接奔出来地铁赶到徐汇本部,然后5点55赶上最后一班6点回闵行的校车~惊险<br /> Tellabs做的是数据链路层和Mac层的通信,对于c++深一步学习非常有帮助,而百度做的是开发测试,感觉有点水,越是上层的技术越是更新快,有点纠结。
2011-01-08 16:17:00 1034
原创 QT信号和槽机制学习
<br />学习QT这个重要概念之前,我首先温习了C++ Primer关于函数指针的知识.<br /> 函数指针是指向函数而非指向对象的指针,和其他指针一样,函数指针也指向某个特地的类型,函数类型由其返回类型以及形参表确定,而与函数名无关。<br /> bool (*pf) (comst string &,const string &);<br />这里注意的是:允许将形参类型定义为函数类型,但函数的返回类型则必须是指向函数的指针,而不能是函数.<br />在我们所熟知的很多 GUI 工具包中
2011-01-03 04:54:00 466
原创 程序员面试题精选100题(13)-第一个只出现一次的字符
<br /> 使用C++ map实现,比较简单。<br /> // 程序员面试题精选100题(13)-第一个只出现一次的字符.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<iostream>#include<string>#include<map>using namespace std;char FirstNotRepeatingChar(ch
2010-12-30 03:10:00 447
原创 程序员面试题精选100题(07)-翻转句子中单词的顺序
<br /> 这题如果用标准库Vector来做,或者用栈来做的话,代码没几行,但是不用这些的话,自己写还是需要考虑一下的,特别是像对于我这种在语法上还是不怎么熟悉的同学。<br /> // 翻转句子中单词的顺序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<iostream>#include<string>#include<vector>using n
2010-12-29 03:03:00 490
原创 程序员面试题精选100题(17)-把字符串转换成整数
<br /> 不是原作者的思路,完全是最搓的实现,只能对于转换int 范围内的数字,先这样实现吧,等以后熟悉了,再来改进<br /> // 把字符串转换成整数.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<iostream>#include<string>using namespace std;int StringToInt(const string
2010-12-25 23:32:00 415
原创 程序员面试题精选100题(48)-二叉树两个结点的最低共同父结点
<br /> 还是简单实现了作者的算法,对于何海涛非常敬佩。实现过程中遇查找树中某一个值的结点的函数,通过一个队列来实现,建树过程中不小心输入失误,一开始以为是前面的算法错了, 后来调试发现,其实是输入的顺序错误。<br /> // 二叉树两个结点的最低共同父结点.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<iostream>#include<queue>
2010-12-25 04:41:00 734
原创 程序员面试题精选100题(49)-复杂链表的复制
<br /> 好久没写日志了,这些日子都在忙软工大作业和嵌入式论文等等,比较头疼的还有班级圣诞聚会,真麻烦,废话少说,办正事。<br /> 这个系列题目都比较好,我打算全部把他们做完,对于我来说,时间可能花的比较长,不过这是一个学习的过程,这道题目,我搞了2天,首先头疼的是单链表的操作还不是很熟悉,包括建立单链表。 下面的代码是实现了作者说的第一个思想,也就是最简单的O(n2) 的复杂度,代码包括测试代码。<br /> // 复杂链表的复制.cpp : Defines the ent
2010-12-20 02:35:00 591
原创 poj 1298- The Hardest Problem Ever
<br /> 水题,不解释。<br /> // The Hardest Problem Ever.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<iostream>#include<fstream>#include<string>#include<vector>using namespace std;int _tmain(int argc, _T
2010-12-06 02:24:00 446
原创 poj 1107 --W's Cipher
<br /> 这道题主要是计算下标需要注意,这点上合循环队列很相似,(i+k1)%length求出相对位置。<br /> // W's Cipher.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<iostream>#include<fstream>#include<string>#include<vector>using namespace std
2010-12-04 23:45:00 670
原创 poj1028--Web Navigation
<br /> 这道题目的算法题中已经给出来,就是利用两个栈来协同工作,用笔在纸上模拟一翻就可以得出答案,注意的是遇到VISIT操作的时候,最后一步要清空Forward栈。<br /> // Web Navigation.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<iostream>#include<fstream>#include<algorithm>
2010-12-04 21:07:00 626
原创 poj 1102--LCDisplay
<br /> 这题首先纠结在atoi函数的参数,是const char类型的,但是通过循环string[i]是char类型的,所有需要转换才能调用atoi函数,正好网上找了一下,char to const char 和const char to char , const char* 转换成char*只能新开辟空间, 然后通过strcpy()函数来实现,char *转换成const char*直接赋值就可以,其实后来想到不需要那么复杂,直接9='9'-'0'可以了,第二点在与逻辑的处理上,一开始我写的很
2010-12-04 16:10:00 565
原创 Poj 1035 --Spell checker
<br /> 这题学到了很多很多知识,首先是string::insert,string::erase 这两个方法,http://www.cplusplus.com/reference/string/string/erase/ 这个网站非常好,可以查到STL库函数,而且都是有例子来说明,简明扼要,精彩的是把所有重载的方法在一个程序里面全部举出例子。第二个是在运行程序的时候发现Dev-C++的MinGW编译器和vs2010的编译器在实现方面有差别,主要是向量越界检查这一点,MinGW是不检查,而vs201
2010-12-04 04:23:00 674
原创 编程珠玑 一维向量左旋转
<br /> 今天看了编程珠玑上面的一道题目,书本11页第二章算法,感觉很有趣,特别是第三个实现的算法,非常巧妙,解决这个问题有三个算法,第一个也是最容易想到需要额外的分配i个空间,第二种算法我还是不怎么理解,没实现,第三种算法最精彩,也是最容易实现,深刻体会到简洁就是美的自然法则.<br /> <br /> 算法一实现:<br /> string Reverse(string &s, int n){ int i,j; string temp; temp=s.substr(0
2010-12-03 01:17:00 547
原创 VIM+Clewn
好几天没更新了,这几天一直在忙课程大作业的程序,今天主要研究了VIM的常用命令和配置GDB调试.中间育到一些ma fan, Linux 下 .filename是隐藏文件,需要 ls -a查看, 创建隐藏目录直接mkdir就行了 . clewn主页 http://clewn.sourceforge.net/ 一开h始网上找到是通过Vimgdb来配置,不过很痲烦,不过也学了些makefile的知识 clewn步骤: 1). 下载clewn源代码 ./configure mak
2010-12-02 02:10:00 1254
原创 MyEclipse 连接MySQL数据库
<br /> 这几天都没做题目,因为高级软件工程的大作业很紧张,正好熟悉一下J2EE<br /> 连接MySQL数据库分下面几步<br /> //1.注册驱动<br /> Class.forName("com.mysql.jdbc.Driver");<br /> //2.获取数据库的连接<br /> Connection conn= DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&character
2010-11-22 00:10:00 485
原创 ZOJ 2508 ---A Less Simple Task in Windows
<br /> 昨天晚上搞了通宵,没成功,结果还是差了一些,是在是头晕脑胀,参看源代码,这题的数据结构设计比较巧妙。<br /> // A Less Simple Task in Windows.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<iostream>#include<fstream>using namespace std;const int
2010-11-19 21:39:00 669
原创 poj 1706 References
<br /> 这个题目调试起来比较麻烦,主要学习到三个方面。<br /> (1)一开始我的if嵌套很多,导致代码缩进很深,这样不容易读懂和调试,所以采用 if()-continue方法来减少缩进,这点值得学习<br /> (2)isdigit()这个函数还真有,还有strcpy(),strcat()更加深入了解一些<br /> (3)研究一下string对象是不是结尾以'/0'结束,我猜测不是,而且通过c_str()函数返回的字符串是const类型的,这点突然让我想到今天看到<<Java 经典实例
2010-11-18 03:20:00 1100
原创 C语言调用Bash脚本
<br /> 这个问题纠结了几天,主要是system这个函数,网上的资料也是很少,通过写这个函数主要受到的刺激是代码风格,一个良好的代码风格!<br />int main(int argc, char *argv[] ) 这里面的argv是一个二维数组,argc是参数的个数,system()函数也是调用的是char字符数组。<br /> 再次提醒自己:(1)代码的缩进要用tap键!!!!!我一直是傻里吧唧的用空格。。。。<br /> (2)在if或者for循环中,将开始
2010-11-16 01:04:00 2262
原创 poj 2121 English-Number Translator
<br /> 题目比较简单,主要用到map关联容器,还有一个问题,我一般对于一个字符串通过空格分隔,对于这样的处理,我一般采取把字符串分割到一个向量中,但是后来知道有一个更好的方法,直接使用istrstream 定义串流 istrstream istr(src,len) ,然后输入的时候 while(istr>>s)就可以达到效果,因为istrstream是通过空格来分割的。<br /> #include<iostream>#include<fstream>#include<str
2010-11-09 03:25:00 1265
原创 Poj 1578 --Instruens Fabulam (血泪控诉,无数次的调试,无数次的错误弹出,4天时间,终于AC,激动难于言表,成就感超强)
<br /> 都不知道怎么写了,刚刚调试成功,而且是完美成功,顺利AC,这道题目上周四开始做的,整整4天的调试,题目不难,但是涉及到的因素很多,调试起来也很麻烦,当然对我这种菜鸟来说是这样的,高手可能很快就能搞定,不过慢慢的在进步,我很高兴。<br /> 这道题目主要花在输入的控制上面,和前面的题目不一样,这道题从文件输入不好控制,因为每次都是从头开始读的话就会陷入死循环,所以调试起来相当麻烦,每次得硬键盘输入,非常痛苦。<br /> 好几次都想放弃,实在是太麻烦了,但是还是最终坚
2010-11-08 02:47:00 1493
原创 冒泡排序 shell 脚本
<br /> 上周接到IBM实习面试通知,下周二面试加笔试,昨天刚收到邮件, 要求在面试前完成一道编程题目,是Linux 下的shell脚本,以前看过一点 bash 的语法,但是没有深入的去实践,昨天切换到Linux下面搞了一天,到现在才完成这个小程序,这个过程中学到很多东西,越发的感觉,一个程序,可以让你学到很多很多东西,各种各样的。 <br /> 这个程序主要学到: <br /> 1)Linux下,fg bg命令用来切换使进程在前台和后台运行,一开始我打开gedit编辑器,因为ct
2010-11-07 02:59:00 3461
原创 切分字符串
<br /> 做题目时候偶尔想出这么一个常用的东西,切分一个字符串,比如,字符串是以*为分隔符 s="dead*dea deuj*"i love you!""<br />最终要切分成三个字符串 "dead" "dea deuj" "i love you!" ,调试了一会,终于成功了。<br /> #include<iostream>#include<fstream>#include<string>#include<vector>using namespace std;i
2010-11-05 15:18:00 1635
原创 poj 2136 Vertical Histogram
<br /> 输入输出的水题,唯一值得学习的就是字符于整数的转换。'B'-'A'=1; B=char('A'+1);<br /> #include<iostream>#include<fstream>#include<string>using namespace std;int main(){ ifstream cin("d://1.txt"); int charNum[26]; memset(charNum,0,sizeof(charNum)); for(int
2010-11-05 02:35:00 577
原创 poj 1308 Is it a Tree?
<br /> 不知道为什么不能AC,这道题有2个地方特别要注意,一个是注意空树的情况存在,另外一个是在分配链表的时候别忘记了释放内存空间,不然会导致错误。<br /> #include<iostream>#include<vector>#include<cmath>#include<string>#include<fstream>#include<stack>using namespace std;const int MAX_NODE=5120;struct Ed
2010-11-05 02:32:00 387
原创 杭电1972 Printer Queue
<br /> 循环队列实现<br /> #include "stdafx.h"#include<iostream>#include<vector>#include<cmath>#include<string>#include<fstream>#include<stack>using namespace std;const int MAX_QUEUESIZE=128;int n,m; //分别为打印队列长度和所求打印任务在队列中的位置int q[MA
2010-11-02 21:29:00 344
原创 布尔表达式判别程序
从下午2点调试到晚上6点,中间洗了一次澡,发现VS2010的调试功能很强大,一开始用标准库的Stack,发现在判别的时候会出现问题,具体是在栈空的时候,调用s.top()会出现错误,所以通过一个字符数组和一个整数来自己模仿指针的话这个错误就会避免 。下面是源代码。 // ajax.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#include
2010-11-02 18:46:00 494
原创 插入排序
<br />把数据结构书上的插入排序实现了一下,比较简单<br />#include<iostream>#include<fstream>#define MAX 9using namespace std;void InsertSort(int (&a)[MAX]){ for(int i=2;i<=MAX;i++) if(a[i]<a[i-1]) { a[0]=a[i]; a[i]=a[i-1];
2010-10-24 23:08:00 367
原创 希尔排序
<br />把数据结构书上的希尔排序算法实现了一下,通过向量来实现<br />#include "stdafx.h"#include <iostream>#include<fstream>#include <vector>#include<algorithm>#include <stack>#include <cmath>#include<string>using namespace std; void ShellInsert(vector<int> &v,i
2010-10-24 06:47:00 340
原创 杭电1176 免费馅饼 DP
<br /> 还是简单DP,找对状态迁移方程即可,一开始我是这样想a[i][j]=a[i][j]+max(a[i+1][j-1],a[i+1][j],a[i+1][j+1]),但是这样设计的话输出不方便,于是乎设计a[i-1][j]=a[i-1][j]+max(a[i][j-1],a[i][j],a[i][j+1]),这样的话走一个双循环,最后输出a[0][5]即可.<br /> #include<iostream>#include<fstream>using namespace
2010-10-24 02:07:00 450
原创 杭电2084 数塔 DP
不知道为什么一直没有AC,检查不出什么错误。郁闷#include#includeusing namespace std;int amax[100][100];int a[100][100];int N;int maxSum(int i,int j){ if(i==N)return a[i][j]; if(amax[i+1][j]==-1) amax[i+1][j]=maxSum(i+1,j); if(amax[i+1][j+
2010-10-22 23:52:00 483
原创 杭电2151 简单DP
<br />这是一道简单的DP算法,只要掌握状态函数 a[M][T]=a[M-1][T-1]+a[M-1][T+1]就可以了<br />#include<iostream>#include<fstream>using namespace std;int main(){ ifstream cin("d://1.txt"); int N,P,M,T; int a[110][110]; while(cin>>N>>P>>M>>T) {
2010-10-22 03:00:00 662
原创 关于面向对象设计的一些思考
<br />1.抽象类可以有abstract 方法,也可以有非abstract方法。<br />2.抽象类不能用new来创建对象,但是可以让抽象类声明的对象成为其子类对象的上转型对象,并调用子类重写的抽象方法。<br />3.接口回调是指,可以把实现接口的类的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象方法的接口回调。<br />4.面向抽象编程,是指当设计一个类的时,不让该类
2010-09-18 03:36:00 463
原创 C++复习笔记
1.定义和声明 定义为变量分配存储空间,还可以为变量指定初始值。声明用于向程序表明变量的类型和名字。extern 声明不是定义,也不分配存储空间,事实上,它只是说明变量定义在程序的其他地方。2.在全局作用域声明的const变量是定义该对象的文件的局部变量,此变量只存在那个文件中,不能被其他文件访问。要使const变量能够在其他的文件中访问,必须显示的定义它为extern。3.引用就是对象的另一个名字,引用必须用于该引用同类型的对象初始化。4.const 引用可以绑定到不同但相关的类型的对象或绑定到右值
2010-08-19 08:16:00 355
原创 一道关于DP的ACM
<br />Problem Description:<br />Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.<br /> <br />这题的基本思想是:从头开使累加,当加到第
2010-07-06 05:22:00 455
原创 关于const 限定符的一些概念
1.定义const对象 用一个变量来代表某一个常数的方法会出现一个问题,比如 int size=10; size 的值是可以被修改的,const限定符提供了一个解决办法,它把一个对象转换成一个常量 const int size=10; 定义size 为常量,并且初始化为10,并且不能被修改,否则会导致编译错误.这里需要注意的是因为常量在定义后就不能被修改,所以定义时必须初始化.
2010-05-20 19:54:00 439
原创 快速排序算法
花了几个小时写了快速排序的算法// package.cpp : Defines the entry point for the console application.//#include "stdafx.h"#includeusing namespace std;int a[100],n,temp;void QuickSort(int start,int end)
2010-05-19 04:48:00 410
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人