- 博客(52)
- 资源 (11)
- 收藏
- 关注
原创 快速排序
/*设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。一趟快速排序的算法是:1)设置两个变量I、J,排序开始的时候:I=0,J=N-1;2)以第一个数组元素作为关键数据,赋值给key,即 key=A[0];3)从J开始向前搜索,即由后开始向
2011-11-24 12:28:00 579
原创 非递归求斐波那契数列
//非递归求斐波那契数列 #includeusing namespace std;long f(int index){ if( index==1 || index == 2){ return 1; } long f1 = 1L; long f2 = 1L; long f = 0; for
2011-11-24 12:26:01 702
原创 最长公共子序列LCS
//LCS算法,最长公共子序列 来自《算法导论》#include#include#include#define N 105char s[N+1][N+1];using namespace std;int LCS( const char*s1,const char*s2){ int m = strlen(s1); int n = strlen(s
2011-11-24 12:24:37 629
原创 hdoj1062
//hdoj 1062 Text Reverse 文本反转 #include#include#include#includechar s[1000];using namespace std;int main(){ int n; int i,j,k; cin >> n; getchar(); for( i =
2011-11-22 23:05:36 994
原创 合并排序
#include #include //merge_sort -->合并排序/*自顶向下采用分治法进行自顶向下的算法设计,采用递归形式更为简洁.分治法的三个步骤1.分解:将当前区间一分为二,即求分裂点 mid=(low+high)/2;2.求解:递归地对两个子区间R[low..mid]和R[mid+1..high]进行归并排序;3.组合:将已排序的两个子区间R[
2011-11-22 21:38:56 647
原创 插入排序
今天在淘宝上买的《算法导论》拿到了,晚自习看了前两章,回来实现以下基本的插入排序,最坏情况下的时间复杂度T(n)=O(n2)。 code: #include//插入排序void insertionsort(int a[],int n){ int i,j,key; for( j = 1;j < n;j++){ key = a[j]; i = j-1;
2011-11-21 22:05:21 819 2
原创 最近的学习计划
刚刚忙完了网工的考试,从今天开始复习数据结构的知识,说实话,大二时候的数据结构老师讲的可真不怎么样,没听多懂,现在重新开始看一遍吧! 从淘宝上买的《算法导论》还没到,很期待啊,一直听说这本书很好,很难, 所以呢就买了,估计是盗版的,唉,没办法,no money滴啊,只能买盗版的凑合吧! 刚刚从网上下了《数据结构》的视频,清华严蔚敏讲的,视频有些年头了,不过很经典哈!为了下这点东西,
2011-11-20 15:42:06 986 1
原创 ACM之-求某天是星期几
/* 算法如下: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数+1,m表示月份数,y表示年数。 注意1:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。注
2011-11-17 19:13:15 1870
原创 hdoj2008
#include//#includeusing namespace std;int main(){ int n,c1,c2,c3; double x; while( cin >> n && n != 0) { c1 = c2 = c3 = 0; for( int i = 0;i < n;i ++
2011-11-14 11:57:32 741
原创 hdoj2007
#include//#includeusing namespace std;int main(){ double x,y; int n1,n2; while( cin >> n1 >> n2 ) { x = y = 0.0; if( n1 > n2) {
2011-11-14 11:56:40 845
原创 hdoj2006
#include//#includeusing namespace std;int main(){ int n,x,sum; while( cin >> n ) { sum = 1; for( int i = 0;i < n;i ++) { cin >> x
2011-11-14 11:54:15 691
原创 hdoj2005
#include//#includeusing namespace std;int lev(int n){ if((n % 4 == 0 && n % 100 != 0) || (n % 400 == 0)) { return 1; } else return 0; } i
2011-11-14 11:53:29 710
原创 冒泡排序
#includeusing namespace std;#define max 9int main(){ int Array[max]; /*for ( int i = 0;i < max;i ++) { Array[i] = max - i; }*/ cout <<"原始数据:";
2011-11-12 18:48:42 576
原创 hdoj2004
#include#includeusing namespace std;int main(){ int x; while( cin >> x) { if( x 100) { cout << "Score is error !" << endl;
2011-11-12 18:45:24 713
原创 hdoj2003
#include#includeusing namespace std;int main(){ double x; cout.precision(2); while( cin >> x) { cout << fixed << fabs(x) << endl; } system("pa
2011-11-12 18:44:52 641
原创 hdoj2002
#include#includeusing namespace std;int main(){ const double pi = 3.1415926; double x; cout.precision(3); while( cin >> x ) { cout << fixed << 4*pi*pow(x,3
2011-11-12 18:44:11 685
原创 hdoj2001
#include#includeusing namespace std;int main(){ double x1,y1,x2,y2; cout.precision(2); while( cin >> x1 >> y1 >> x2 >> y2) { cout << fixed << sqrt(pow((x1-x2),2
2011-11-12 18:43:18 621
原创 hdoj2000
#includeusing namespace std;int main(){ char a[4]; while(cin >> a) { /*for( int i = 0;i < 3;i ++) { cin >> a[i]; }*/
2011-11-11 10:28:37 769
原创 hdoj1021
/*/解决本题的关键:通过公式条件:F(0)= 7, F(1) = 11,F(n) = F(n-1) + F(n-2) (n>=2). 找到规律。由同余式的基本性质:(1)自反性:a = a( mod m)。以及同余式的四则运算法则:(1)如果 a =b( mod m)且 c = d( mod m),则 a +c = (b + d)( mod m)。可知,F(n) = F(
2011-11-11 10:27:13 1150
原创 hdoj1019
#includeusing namespace std;/*int gcd( int a,int b){ int r = 0; while(b!=0) { r = a%b; a = b; b = r; } r
2011-11-10 16:25:15 1181
原创 hdoj1018
/*#include#includeusing namespace std;int main(){ int n,x; double result; cin >> n; while(n--) { cin >> x; result = log10((float)x);
2011-11-10 16:24:26 1116
原创 hdoj1017
#includeusing namespace std;int main(){ int k,c,p=0,t; int a,b; cin >> k; while(k--) { if(p>0)cout<<endl; p ++; c= 0; while( cin
2011-11-10 16:23:22 880
原创 hdoj1012
#includeusing namespace std;int main(){ int f[10]={1,1,2}; double e[10]={1.0,2.0,2.5}; cout <<"n e\n"; cout <<"- -----------\n"; cout <<"0 1\n"; cout <<"1 2\n";
2011-11-10 16:22:34 840
原创 hdoj1008
#includeusing namespace std;int main(){ int i,a,sum; int n; while( cin >> n) { i = 0; sum = 0; if(n==0)break; while(n--)
2011-11-10 16:21:32 764
原创 hdoj1004
#includeusing namespace std;#include#include int main(){ int n,i; map ball; while( cin >> n) { if(n==0)break; ball.clear(); string color,pcolor;
2011-11-10 16:20:22 945 1
原创 hdoj1003
//最大连续子序列和 //dp经典 #includeusing namespace std;int main(){ int n,m,max,a[100000],c=1; int start,end,nowstart,nowend; cin >> n; while(c<=n) { max=0;
2011-11-10 16:19:35 915
原创 hdoj1002
#include#includeusing namespace std;void add(char a[], char b[], char tmp[]);int main(){ int t; cin >> t; for(int i = 1; i <= t; i++) { char a[1005], b[1005], tm
2011-11-07 15:53:42 1105
原创 hdoj1001
1到n之和 #includeusing namespace std;int main(){ int n,sum; while( cin >> n ) { sum = 0; for ( int i = 1;i <= n;i++) { sum += i;
2011-11-07 15:50:23 720
原创 hdoj1000
什么也不说了,ACM入门 #includeusing namespace std;int main(){ int n,sum; while( cin >> n ) { sum = 0; for ( int i = 1;i <= n;i++) { sum +
2011-11-07 15:48:16 736
原创 android开发学习笔记(9)Intent之在两个Activity之间切换
有几天没更新文章了,因为最近一直在忙网络工程师考试的事情,11.12就要考试了,一直忙着复习呢,对于这个考试,怎么说呢,没多大用,但是我主要是为了让自己不闲下来,要不然这么多时间不都得浪费了啊,呵呵,刚刚把准考证打印出来,就来发文章了。 今天郑州下雨,雨还不小,大家都窝在宿舍里,不肯出去,我也是勉强从被窝里钻出来,呵呵,废话不说,开始今天的android开发之旅! 今天
2011-11-07 12:43:11 2674 1
原创 java学习笔记(三十八)java新IO之IntBuffer
java新IO之IntBuffer1 : put方法,position方法,limit方法,capacity方法public abstract IntBuffer put(int i)相对 put 方法(可选操作)。 将给定 int 写入此缓冲区的当前位置,然后该位置递增。 参数:i - 要写入的 int 返回:此缓冲区 抛出: BufferOverflow
2011-11-04 20:52:50 7087 2
原创 java学习笔记(三十七)java新IO之Buffer
java新IO之Buffer1、什么是java新IO在jdk1.4之后呢,为了提高IO操作的性能,提供了一个新的开发包,NIO,此包定义在java.nio.*中。在java中,已有的IO操作大部分都属于阻塞的操作,例如,键盘输入数据,必须一直等待用户输入数据,否则程序不能继续执行。另外,还有socket程序中服务器必须通过accept()方法等待用户连接,这就造成了大量的系
2011-11-04 20:25:47 1438
原创 java编程思想-读书笔记(1)对象入门
第一章:对象入门1.1 、面向对象编程(OOP)的吸引力:(1)对管理人员,它实现了更快和更廉价的开发与维护过程(2)对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护的设计方案。(3)对程序员,对象模型显得如此高雅和浅显。此外,面向对象工具以及库的巨大威力使编程成为一项更使人愉悦的任务 现在的事实是:事实上,很难很好地设计出对象——从而很难设计好任何东西。因
2011-11-04 19:47:16 682
原创 android开发学习笔记(8)Android项目目录结构:
Android项目目录结构:1.Src: src文件夹包含了项目的所有包及源文件2.Res: res文件夹包含了项目中的所有资源,其中呢有三个文件夹@: drawable à程序图标@:layout à布局文件@:values à常量 3: gen文件夹Gen文件夹包含了R.java文件和每个Android项目都必须有的AndroidManifest文件
2011-11-03 21:20:42 827
原创 java学习笔记(三十四)认识Runtime类
1.1 认识Runtime类Runtime:运行时,是一个封装了JVM进程的类,每一个java程序实际上都是启动了一个JVM进程,那么每个JVM进程都是对应这一个Runtime实例,此实例是由JVM为其实例化的。 public class Runtimeextends Object每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通
2011-11-03 12:36:27 2110 1
原创 java学习笔记(二十七)抽象类与设计模式
1.1 抽象类与接口的实例化抽象类与接口之所以不能直接实例化,是因为他们中都有抽象方法,抽象方法是为实现的方法,不能被调用,只有被子类覆盖之后才能调用子类覆盖的方法。抽象类的实例化abstract class A //定义 抽象类{ public abstract void print();//定义抽象方法};class B extends A //定义子类{
2011-11-03 12:34:32 1036
原创 java学习笔记(二十六)多态性
多态性1.1 方法的重载与覆写 对象的多态性对象多态性的类型主要有两种A:向上转型:子类对象-》父类对象对于向上转型,程序自动完成格式: 父类 父类对象 = 子类实例;class A{ public void print(){ System.out.println("A"); } public void fun1(){ this.print()
2011-11-03 12:32:50 733
原创 java学习笔记(二十五)接口
接口1.1 概念 接口可以理解为一种特殊的类,里面全部都是由全局变量和公共的抽象方法所组成。1.2 接口的定义格式interface 接口名称{全局变量;抽象方法;}interface A{ public static final string AUTHOR="lihua"; public abstract void print();//抽象
2011-11-03 12:28:01 796
原创 java学习笔记(二十四)抽象类
抽象类1.1 抽象方法:只声明而未实现的方法,抽象方法必须使用abstract声明。抽象类:包含一个抽象方法的类就称为抽象类。子类(如果不是抽象类)必须覆盖抽象类中的全部抽象方法。 1.2 定义规则A: 包含一个抽象方法的类必须是抽象类。B:抽象类和抽象方法都要使用abstract关键字声明。C:抽象方法只需声明不需实现D:抽象类必须被子类继承,
2011-11-03 12:26:28 696
原创 java学习笔记(二十三)final关键字
final关键字:1.1 final在java中表示最终的意思,也可以成为完结器。可以使用final关键字声明类,属性,方法。A:使用final声明的类不能有子类 final class A //使用final定义类,不能有子类{};class B extends A //错误,不能被继承{};结果:F:\java>javac
2011-11-03 12:24:40 876
Java程序员,上班那点事儿
2013-08-03
java学习方法
2011-11-12
一份极强的CCIE笔记-nopassword.pdf
2010-11-06
QQvs360详谈(附加最详细解决方法)
2010-11-06
华为“网络工程师”培训专用教程
2010-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人