2012年3月20日

【C++ Primer】第十三章 类继承

摘要: 一,类继承 定义:从已有的类派生出新的类,而派生类继承了原有类的特征,包括方法。 目标:提供可重用的代码二,一个简单的基类#include <iostream> #include <cstring> using namespace std; class student //基类 { private: char name[20]; int num; int age; public: student(const char *m_name,const int m_num,const int m_age); ~student(); virtual void display(); 阅读全文

posted @ 2012-03-20 12:58 小田的专栏 阅读(197) 评论(0) 推荐(0) 编辑

2012年3月19日

【android&&jni&&NDk】详细介绍每一步,让你轻松掌握android JNI NDk

摘要: 一,开发环境配置 众所周知,万事开头难,配置开发环境是所有开发项目最基本且必须要做的一步。 所用的所有软件及开发平台:Win7+NetBeans+Vmware+ubuntu+NDK+android SDK 首先,在Win7平台下面配置好开发android的环境,具体细节参照博客:http://blog.csdn.net/tianshuai11/article/details/7367700 然后,在Vmware中的ubuntu系统中下载android-ndk-r7b的NDK开发包http://developer.android.com/sdk/ndk/index.htm... 阅读全文

posted @ 2012-03-19 17:40 小田的专栏 阅读(232) 评论(0) 推荐(0) 编辑

【java&&jni】jni入门篇

摘要: 【序】我是为了android研究需要才开始研究JNI的。阅读本例文之前希望你按照上一篇【java】Windows7 下环境变量设置已经对环境变量进行正确设置本文通过一个简单的例子来演示如何使用JNI。我们写一个JAVA程序,并用它调用一个C函数来打印“Hello World!”。这个过程包含下面几步: 1、 创建一个类(HelloWorld.java)声明本地方法。 2、 使用javac编译源文件HollowWorld.java,产生HelloWorld.class。使用javah –jni来生成C头文件(HelloWorld.h),这个头文件里面包含了本地方法的函数原型。3、 用C/C++代 阅读全文

posted @ 2012-03-19 11:19 小田的专栏 阅读(527) 评论(0) 推荐(0) 编辑

【java】Windows7 下环境变量设置

摘要: Windows 7下配置JDK环境变量参数设置:1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:D:\Program Files (x86)\Java\jdk1.6.0_252.安装完成后,右击“我的电脑”,点击“属性”,单击“高级系统设置”,点击“环境变量”,如图:4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”:(1).JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\Program Files (x86)\Java\jdk1.6.0_25如图: 阅读全文

posted @ 2012-03-19 10:24 小田的专栏 阅读(147) 评论(0) 推荐(0) 编辑

2012年3月18日

【python】入门第一篇

摘要: 一,序言:这是我继java、VC++、C、C#……之后又入手的一门语言。二,认识python 1,简介:python是一种面向对象、直译式计算机程序设计语言,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。 2,历史:做为ABC 语言的一种继承,后缀名为.py 3,局限性:强制缩进:缩进表示同一个语法块 单行语句和命令行输出问题 4,开发环境:python 3.0 语法区别于 python 2.0三,走进python 1)入门神级的程序hello world ... 阅读全文

posted @ 2012-03-18 00:36 小田的专栏 阅读(177) 评论(0) 推荐(0) 编辑

2012年2月29日

【c++ primer】第八章 函数探幽

摘要: 一,C++内联函数 定义: inline double square (double x){return x*x;}//含有关键字inline的内联函数 描述:内联函数类似于宏的定义与调用 使用:调用内联函数时候,不用跳到另一个位置执行代码,而是将调用内联函数代码用相应内联函数替换。 区别:普通函数调用时候,跳到函数处执行完,返回再执行下一条语句。 内联函数调用时候,直接将代码复制过来执行,省去了跳过去然后返回的过程 宏:只是简单的形式上的替换 例:#define square(x) x*x ... 阅读全文

posted @ 2012-02-29 20:15 小田的专栏 阅读(189) 评论(0) 推荐(0) 编辑

2012年2月28日

【linux】ubuntu11.10下各种问题以及解决方案

摘要: 一,快捷键显示桌面:Ctrl+Alt+D最小化窗口:Alt+F9最大化窗口:Alt+F10关闭当前窗口:Alt+F4二、Ubuntu NetBeans中文乱码解决办法在$JAVA_HOME/jre/lib/fonts目录下创建一名为fallback的目录将一可显示中文的字体放到fallback目录下,可以到Ubuntu字体目录(/usr/share/fonts)去复制一份或者用ln命令做一个硬链接到该目录(注:软链接无效)再运行NetBeans(or NetBean)即可没有字体:arphic 需要到新立得 安装最新版本.是ttf格式而不是ttc三,网络代理cd etc/possibiliti 阅读全文

posted @ 2012-02-28 19:43 小田的专栏 阅读(288) 评论(0) 推荐(0) 编辑

2012年2月25日

【100题】第十九题(斐波那楔数列)

摘要: 一,题目:输入n用最快的方法求Fibonacci数列的第n项。二,定义:Fibonacci数列如下: 0 n=0f(n)= 1 n=1,2f(n-1)+f(n-2) n>2//0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 9871597..........三,分析:注意,当求第100项,甚至更大的项时,请确保你用什么类型,长整型?orlong long int存储。不然,计算机,将得不到结果。所以选择的数据类型是关键。四,源码:#include <iostream> using namespace std; ... 阅读全文

posted @ 2012-02-25 22:42 小田的专栏 阅读(225) 评论(0) 推荐(0) 编辑

【Linux】 C++编程(vim)

摘要: 一,编译(compile) 含义:用编译器(compile)将源代码生成二进制目标文件。在Window下为.obj。在Linux下为.o文件。 要求:编译器要求,语法正确。编译器只检测程序语法和函数、变量是否被声明,函数并不许要被定义。 编译语法:g++ -c file.cpp 其中-c 为compile生成 file.o的目标文件二,链接(link) 含义:将所有需要到函数所在的文件爱你链接在一起合成为可执行文件。 语法:g++ file.o -o file.exe 其中-o 指生成可执行文件(output)。默认为a.out 【合并】g++ file.cpp -o file.exe三,库( 阅读全文

posted @ 2012-02-25 21:55 小田的专栏 阅读(420) 评论(0) 推荐(0) 编辑

【Linux】Ubuntu 代理配置

摘要: apt-get 设置代理 proxy 方法方法一 :这是一种临时的手段,如果你仅仅是暂时需要通过http代理使用apt-get,你可以使用这种方法。在使用 apt-get 之前,在终端中输入以下命令:export http proxy=http://yourproxyaddress:proxyport据说取消代理使用:export http_proxy="" 不行的话试试 unset http_proxy;方法二 :这种方法要用到 /etc/apt/ 文件夹下的 apt.conf 文件,如果你希望 apt-get (而不是其他应用程序)一直使用 http 代理,可以使用这种 阅读全文

posted @ 2012-02-25 00:28 小田的专栏 阅读(29760) 评论(0) 推荐(2) 编辑

2012年2月24日

【100题】第十八题(约瑟夫循环)

摘要: 一,题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。二,思路:创建一个循环链表,每次走m步删除一个节点,最后剩下一个三,源码:#include <iostream> #include "malloc.h" using namespace std; struct node { int data; node *next; }; node *createList(int a[ 阅读全文

posted @ 2012-02-24 10:10 小田的专栏 阅读(214) 评论(0) 推荐(0) 编辑

2012年2月23日

【100题】第十七题(google笔试)

摘要: 一,题目:在一个字符串中找到“第一个”、“只出现一次”的字符。 如输入abaccdeff,则输出b。二,思路解析: 字母a:出现两次 字母b:符合要求 字母c:出现两次 字母d:出现一次,但不是第一个 字母e:出现一次,但不是第一个 字母f:出现两次 所以字母b符合要求。三,如何才能找到符合要求的字母 首先扫描一遍字符数组,记录每一个字符出现的个数。 然后再次扫描字符数组,找到第一个个数为1的字符。 由于字符(char)是一个长度为8的数据类型,因此总共有可能256种可能。于是我们创建一个长度为256的数组,每个字母根据其AS... 阅读全文

posted @ 2012-02-23 23:51 小田的专栏 阅读(167) 评论(0) 推荐(0) 编辑

【ubuntu】解决窗口管理器 不支持透明问题(11.04之前版本不支持)

摘要: 打开 Metacity 的混合特效 Metacity 为 GNOME 桌面环境的默认窗口管理器。我们知道在 GNOME 2.22 中的 Metacity 窗口管理器已经具有了混合特效,换言之,现在即使你不用 Compiz Fusion,使用 Metacity 也能够获得透明、阴影、以及 Alt + Tab 切换效果。对于要求不高的用户来说,还是值得尝试的。但是默认情况下这些混合特效并没有被打开。如果你已经安装了 GNOME 2.22,且当前所用的显卡也支持,那么可以使用以下方法来打开 Metacity 的混合特效。按 Alt + F2,打开“运行应用程序”对话框。输入 gconf-edito. 阅读全文

posted @ 2012-02-23 11:00 小田的专栏 阅读(192) 评论(0) 推荐(0) 编辑

2012年2月22日

【100题】第十六题(层序打印树的节点)

摘要: 一,题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入 8 / \ 6 10 / \ / \5 7 9 11输出:8 6 10 5 79 11。二,分析: 本题主要考察树的层序遍历,最常用的方法就是采用队列的形式。 按照,根左右的形式依次将元素弹入队列中。然后取出队列头部,再将头部的左右子树弹入队列中。这样就可以层序遍历整个二叉树。有些类似树的广度优先查找。三,源码:#include "stdio.h" #include "malloc.h" #include "stack.h" struct 阅读全文

posted @ 2012-02-22 17:32 小田的专栏 阅读(128) 评论(0) 推荐(0) 编辑

【100题】第十五题(树的镜像问题)

摘要: 一,题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / \ 6 10 / \ / \ 5 7 9 11 输出: 8 / \ 10 6 / \ / \ 11 9 7 5定义二元查找树的结点为:struct BSTreeNode // a node in the binary search tree (BST){ int m_nValue; // value of node BS... 阅读全文

posted @ 2012-02-22 16:27 小田的专栏 阅读(162) 评论(0) 推荐(0) 编辑

【解决方法】Ubuntu文本编辑器gedit打开中文出现乱码的

摘要: 缺省配置下,用 Ubuntu 的文本编辑器(gedit)打开 GB18030/GBK/GB2312 等类型的中文编码文本文件时,将会出现乱码。出现这种情况的原因是,gedit 使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表中的编码将显示为乱码。您要做的就是将 GB18030 加入这个匹配列表。命令行方式,适用于所有 Ubuntu 用户。复制以下命令到终端中,然后回车即可: gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected & 阅读全文

posted @ 2012-02-22 10:05 小田的专栏 阅读(280) 评论(0) 推荐(0) 编辑

【C++ primer】第七章 函数-C++的编程模块

摘要: 1,函数的基本知识 C++对于返回值的类型有一定的限制:不能是数组,但可以使其他任何类型,甚至可以使结构和对象。 有趣的是,虽然数组不可以作为返回对象,但是数组可以作为结构或对象组成部分来返回。2,函数参数和按值传递 cin.get();//读取所有输入的字符,包括空格和换行符。 cin>> ;//跳过空格和换行符读取。3,函数和数组 int arr[32]; int sum_arr(int arr[],int n);//参数arr是一个指针,而不是一个数组。 int sum_arr(int *arr,int n); //仅用于函数头,函数原型中 int *arr ... 阅读全文

posted @ 2012-02-22 00:12 小田的专栏 阅读(167) 评论(0) 推荐(0) 编辑

2012年2月21日

【C++ Primer】第六章(分支语句和逻辑操作符)

摘要: 1,cin的用法char ch;cin.get(ch); //仅仅接受一个字符(输入12,则ch仅仅赋值为1)cout<<ch;2,对于字符型变量ch,++ch与ch+1的区别int main() { char ch; cin.get(ch); while(ch!='.') { if(ch=='\n') cout<<ch; else cout<<ch+1; cin.get(ch); } }cout<<++ch;输出的是 相应ASCCI码加一之后的 字符cout<<ch+1;输出的是 相应ASCCI码加一 阅读全文

posted @ 2012-02-21 00:23 小田的专栏 阅读(345) 评论(0) 推荐(0) 编辑

2012年2月14日

【C++ Primer】第五章学习笔记(循环和关系表达式)

摘要: 一,for循环 1,在C++中每一个表达式都有值; int a=0//声明表达式 23+17 //数学表达式 a=(b=3)+4//a的值为7 2,表达式跟语句的区别 表达式加上";"就是语句 a=10为表达式 a=10;为语句 3,前缀式和后缀式 ++i;比i++速度更快,效率更高; 【注意】前缀递增(++)、前缀递减(++)、解除引用(*)优先级相同; 并且从右向左的规则进行结合 例:*++pt; //先将++作用于pt,然后将*... 阅读全文

posted @ 2012-02-14 00:08 小田的专栏 阅读(161) 评论(0) 推荐(0) 编辑

2012年2月8日

【人生】新年伊始

摘要: 开学了…… 拖着久未平息的童心,迈着恋恋不舍的脚步,踏入寒冷、清静的校园。也许是在家玩的Happy吧,来到冷清的校园里感到丝丝落寞感…… 跟爸爸通了两次电话,照例是对未来的信誓旦旦,和对自己发达后的种种幻想……算是对自己埋藏于心底的自信的一种宣泄吧。 我喜欢这种略带些夸张跟浪漫色彩的谈话, 我喜欢对自己未来美好的憧憬, 我喜欢把责任拦在自己身上的霸气, 我喜欢我为家做出的贡献, 我喜欢听到父亲因为他的儿子而感到骄傲, 我喜欢为着自己所吹过的牛逼而不知疲倦的奋斗, 我喜欢幸运女神光顾我这个为理想而拼搏的年轻人。 接下来面临的最关键的事情是:找工作 所有我吹过的牛皮,归根... 阅读全文

posted @ 2012-02-08 22:47 小田的专栏 阅读(152) 评论(0) 推荐(0) 编辑

导航