代码改变世界

指针数组与数组指针

2012-07-28 21:33 by javaspring, 399 阅读, 0 推荐, 收藏, 编辑
摘要:1、指针数组与数组指针 int *p[10]; //一个包含10个int指针的数组 int (*p)[10]; //一个指向具有10个int的数组的指针2、函数指针 int (*p)(int i); //定义一个函数指针 int func(int i){return i;} p=func; p(i); //使用函数指针调用函数3、二维数组与指向数组的指针 int a[3][4]; int (*p)[4]=a; //ok int **p=a; //error,int [3][4]不能转换为int ** 阅读全文

指针和引用

2012-07-28 21:24 by javaspring, 244 阅读, 0 推荐, 收藏, 编辑
摘要:1、引用注意事项 引用必须初始化 引用初始化指向一个对象之后就不能再指向别的对象 引用不能为空 返回引用的函数可以作为左值来计算 不能声明void类型的引用 int a=10; void &p=a; //error 不能声明引用数组 int a[10]; int p[10]=a //error2、const引用 const 修饰如果用在引用上会有一个特别之处,它的可以进行不同类型的对象的初始化,而这一切在普通变量操作上是不可能的 例如: int a=10; int &test=a; //ok double &test1 = a + 1.2; //error const 阅读全文

POJ 2155 C Looooops

2012-07-28 19:22 by javaspring, 176 阅读, 0 推荐, 收藏, 编辑
摘要:来源:http://poj.org/problem?id=2115题意:就是说一个for循环,变量从a开始,每次增加c,问经过多少次增加能够 (a+c*n) % 2^k = b%2^k,即同余方程。经过变形后可以变成裸的扩展欧几里得思路:用扩展欧几里得解就可以了。。代码:#include <iostream> #include <cstdio> #include <string.h> using namespace std; typedef long long ll; ll gcd(ll a,ll b){ if(b == 0) return a; retur 阅读全文

SRM 499 DIV2 500pt

2012-07-28 17:44 by javaspring, 173 阅读, 0 推荐, 收藏, 编辑
摘要:题意:说有一些兔子,它们有各种各样的颜色。一个人问其中一部分兔子问题,问题是除了该兔子以外,和这只兔子颜色相同的有多少只兔子。给出了这些数据,即和该兔子颜色相同的兔子,求最少有多少只兔子能够满足该情况。思路:举例来说,2 2 3 4,说明和第一只兔子颜色相同的有两个,此时可以确定有3只兔子。在看第二只兔子,也是2,因为要求最小值,因此我们让和第二只兔子颜色相同的兔子是包括第一只兔子在内的的兔子,因此,兔子总数不会增加,还是3。接下来是第三只兔子,因为之前没有哪只兔子的数量和其相同,因此不能合并,此时应该加4,同理最后一只。也就是说,我们碰到一个数量时,能合并则尽量让其合并。合并的时候,若这次兔 阅读全文

SRM 499 250pt

2012-07-28 17:34 by javaspring, 184 阅读, 0 推荐, 收藏, 编辑
摘要:题意:就是给你一些数,这些数中其中有两个数是x+y的值和x-y的值,求使x*y的最大值。思路:当两个数的和一定时,若要使x*y得值越大,则x和y越接近越好,即x-y得差越小越好。因此,我们可以先对元素进行排序,然后用后面的元素作为和,前面的元素作为差即可,并且进行比较,最后取最大值即可。代码:class SimpleGuess { public: int getMaximum(vector <int> hints) { int i,j,k; int num[105]; int len = hints.size(... 阅读全文

2012-07-28 15:01 by javaspring, 292 阅读, 0 推荐, 收藏, 编辑
摘要://十进制数值M转换成m进制 void SysConvert(int N,int m) { while(N!=0) { push(p,N%m); //将余数进栈 N=N/m; } }1、栈的基本操作// lb.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdlib.h" #include <iostream> #include <string> using namespace std; // 阅读全文

链表

2012-07-28 11:42 by javaspring, 352 阅读, 0 推荐, 收藏, 编辑
摘要:1、链表基本操作----(带头结点)链表创建、增加节点、删除节点、链表反转// lb.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdlib.h" #include <iostream> #include <string> using namespace std; //定义链表的数据结构 template<class T> struct List{ T data; List *n 阅读全文

POJ 1061 青蛙的约会 扩展欧几里得http://poj.org/problem?id=1061

2012-07-28 09:21 by javaspring, 312 阅读, 0 推荐, 收藏, 编辑
摘要:来源:http://poj.org/problem?id=1061题意:中文题。。。思路:由题意易知,posx + vx * t – posy – vy * t = k * L,也就是说解该方程的解。该方程经过化简后可以写为 t*(vx - vy) – k * L = posy – posx,进一步化简为 k*L + t * (vy- vx) = posx – posy,L和(vx - vy)都可以求出来,也就是说是已知的。该方程是我们比较熟悉的,也就是常见的扩展欧几里得方程的形式。 此时,令 gcdx = gcd(L,vy - vx),若(posx – posy) % gcdx == ... 阅读全文

Java用LinkedList实现队列

2012-07-27 17:16 by javaspring, 399 阅读, 0 推荐, 收藏, 编辑
摘要:import java.util.LinkedList; public class MyQueue { private LinkedList ll=new LinkedList(); public void put(Object o) { ll.addLast(o); } public Object get() { if(ll.isEmpty()) { System.out.println("队列为空,不能出队列了"); return null; } return ll.removeFirst(); } public boolean empt... 阅读全文

Java用LinkedList实现栈

2012-07-27 17:14 by javaspring, 246 阅读, 0 推荐, 收藏, 编辑
摘要:import java.util.LinkedList; public class MyStack { private LinkedList ll=new LinkedList(); public void push(Object o) { ll.addFirst(o); } public Object pop() { if(ll.isEmpty()) { System.out.println("栈为空,不能出栈!"); return null; } return ll.removeFirst(); } public Object peek()... 阅读全文
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 63 下一页