- 浏览: 315567 次
最新评论
文章列表
#include<iostream>
using namespace std;
int main()
{
char *s = (char*)malloc(10);
cout<<s<<endl;
char p[10];
cout<<p<<endl;
}
出现以上原因都是由于内存没有初始化造成的,而对于栈中内存如果没有初始化,则会出现“烫烫烫烫烫烫”。对于堆中内存如果没有初始化,则会出现“屯屯屯屯屯”,有时候我们的数组没有结束符,输出数组也会有这些汉字的出现,就是因为没有结束符占用了后面的空闲的内存块即没有初始化的内存块
...
- 2012-11-11 14:52
- 浏览 376
- 评论(0)
关于对ACM OJ大数据递归栈溢出问题的解决方案Posted byThis_poeton
2012-08-15编辑问题来源
- 2012-11-11 14:12
- 浏览 460
- 评论(0)
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
- 2012-11-10 21:11
- 浏览 339
- 评论(0)
#include<iostream>
using namespace std;
int max(int x,int y)
{
return x>y?x:y;
}
int main()
{
int (*p)(int,int);
p = max;
cout<<(*p)(4,5)<<endl;
cout<<max(4,5)<<endl;
}
int (*p)( int,int ); 用来定义 p 是一个指向函数的指针变量,该函数有两个整形参数,函数值为整形。注意 *p 两侧的括号不可省略,表示 p 先与 * 结合,是指针变 ...
- 2012-11-09 20:39
- 浏览 268
- 评论(0)
其实要理解C文件与头文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:1.预处理阶段2.词法与语法分析阶段3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生 ...
- 2012-11-09 09:07
- 浏览 228
- 评论(0)
A Knight's Journey
Time Limit:1000MS
Memory Limit:65536K
Total Submissions:22481
Accepted:7598
Description
Background
The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey
around the world. Whenever a kni ...
- 2012-11-08 14:09
- 浏览 283
- 评论(0)
#include <stdio.h>
int main()
{
double x = 12.5;
printf("%d\n",x);
int y = 10;
printf("%lf\n",y);
}
输出:
0
0.000000
float x = 12.5;
printf("%d\n", x);float: 1位符号位(s)、8位指数(e),23位尾数(m,共32位)
double: 1位符号位(s)、11位指数(e),52位尾数(m,共64位)
然后,我们还需要了解一下printf ...
- 2012-11-08 09:11
- 浏览 203
- 评论(0)
Can you find it?
Time Limit: 10000/3000 MS (Java/Others)Memory Limit: 32768/10000 K (Java/Others)
Total Submission(s): 6083Accepted Submission(s): 1585
Problem Description
Give you three sequences of numbers A, B, C, then we give you a number X. Now you need to calculate if you can find the t ...
- 2012-11-07 23:33
- 浏览 273
- 评论(0)
迷宫问题
Time Limit:1000MS
Memory Limit:65536K
Total Submissions:5387
Accepted:3066
Description
定义一个二维数组:int maze[5][5] = {
0, 1, 0, 0, 0,
0, 1, 0, 1, 0,
0, 0, 0, 0, 0,
0, 1, 1, 1, 0,
0, 0, 0, 1, 0,
};
它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路 ...
- 2012-11-07 16:24
- 浏览 303
- 评论(0)
刚学搜索,不知道剪枝的重要性。
超时代码:
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
char maps[10][10];
const int moves[4][2] = {{0,-1},{0,1},{1,0},{-1,0}};
int m,n,t,di,dj;
bool escape;
void DFS(int si,int sj,int cnt)
{
if(si>n||si<=0||sj>m||sj<=0) ret ...
- 2012-11-07 07:38
- 浏览 245
- 评论(0)
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
/*c++实现双链表的基本操作*/
using namespace std;
typedef struct student
{
int data;
struct student *pre;
struct student *next;
}dnode;
//创立链表
dnode *creat()
{
dnode *head,*p,*s;
...
- 2012-11-06 13:07
- 浏览 264
- 评论(0)
#include <cstdlib>
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
/*c++实现简单的单链表操作*/
using namespace std;
typedef struct student
{
int data;
struct student *next;
}node;
//建立单链表
node *creat()
{
node *head,*p,*s;
in ...
- 2012-11-06 13:06
- 浏览 235
- 评论(0)
利用二进制扫描的方法快速的计算abmod c,显然用常规方法计算74237mod 4233计算量过大。
基本原理:(a×b)mod c=((amod c)×b)mod c
例如:35mod 7=3(101)2mod 7=((3(100)2mod 7)×3)mod
7=((9(10)2mod 7)×3)mod 7=(((9mod 7)(10)2mod 7)×3)mod 7=((2(10)2mod
7)×3)mod 7=((4(1)2mod 7)×3)mod 7=(4×3)mod 7=5
实现代码如下(C语言版)
- 2012-11-06 12:50
- 浏览 275
- 评论(0)
【引理】如果p是一个素数的话,那么对任意一个小于p的正整数a,a, 2a, 3a, ..., (p-1)a除以p的余数正好是一个1到p-1的排列。(例如,5是素数,3, 6, 9, 12除以5的余数分别为3, 1, 4, 2,正好就是1到4这四个数。)
【证明】( 反证法)假如结论不成立的话,那么就是说有两个小于p的正整数m和n使得na和ma除以p的余数相同。不妨假设n>m,则p可以整除a(n-m)。但p是素数,那么a和n-m中至少有一个含有因子p。这显然是不可能的,因为a和n-m都比p小。
【Fermat小定理(Fermat's Little Theorem)】如果p是 ...
- 2012-11-06 12:49
- 浏览 277
- 评论(0)
深度优先搜索(DFS)
【算法入门】
郭志伟@SYSU:raphealguo(at)qq.com
2012/05/12
1.前言
深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。
你可以跳过第二节先看第三节,:)
- 2012-11-05 20:55
- 浏览 253
- 评论(0)