上一页 1 ··· 9 10 11 12 13 14 15 下一页
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1237这道题主要思路是这样的:设置两个栈,一个用来保存后缀式的栈,一个用来暂时保存运算符的栈,将中序表达式一个一个字符地读入,遇到数字字符就直接压入后缀式栈,遇到运算符时就先暂时保存到运算符栈中,等到下次读到字符时将运算符栈中的运算符与之比较优先级,若运算符栈里的运算符的优先级高于这次读到的运算符就将运算符栈中的运算符进栈,否则将这个运算符压入运算符栈。代码如下: 1 #include <cstdio> 2 #include <cstring> 3 #include < 阅读全文
posted @ 2012-08-10 07:00 山路水桥 阅读(2180) 评论(0) 推荐(0) 编辑
摘要: 优先级运算符含义要求运算对象的个数结合方法1( )[ ]→·圆括号下标运算标指向结构体成员运算符结构体成员运算符自左至右2!~++---(类型)*&sizeof逻辑非运算符按位取反运算符自增运算符自减运算符负号运算符类型转换运算符指针运算符地址与运算符长度运算符1(单目运算符)自右至左3*/%乘法运算符除法运算符求余运算符2(双目运算符)自左至右4+-加法运算符减法运算符2(双目运算符)自左至右5<<>>左移运算符右移运算符2(双目运算符)自左至右6<<=︺>>=关系运算符2(双目运算符)自左至右7==!=等于运算符不等于运算符 阅读全文
posted @ 2012-08-09 08:55 山路水桥 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 1 100的阶乘,末尾有几个连续的零?(如:2100的最后有2个零)2 1到100的阶乘的和的末位数是几?3 10000的阶乘,末尾有多少个连续的零?解答和分析:1 100的阶乘,末尾有几个连续的零?答案是24。思路有两个:先讲笨方法,采用分类讨论的方法。你可以知道100的阶乘里有无数的2,比如8=2*2*2等等。而10是由2*5组成的,其他的数字无论怎么乘都都无法形成10。所以我们只要关注2和5即可。由于100的阶乘中2很多,它们都嗷嗷待哺的希望和5结合成10。你还应该注意到一个情况,25、50、75这三个比较特殊,25乘以若干个2会得到100,而50*2会得到100,而75乘以若干个2后会 阅读全文
posted @ 2012-08-09 08:32 山路水桥 阅读(1679) 评论(0) 推荐(0) 编辑
摘要: 上星期某个夜深人静的夜里Slyar小研究了一下C语言中的指针,对于复杂指针类型的分析偶有所得,写出来谨供互相讨论学习。int p;p是一个普通的整型变量。int *p;1、p与*结合,说明p是一个指针。2、*p与int结合,说明指针所指向的内容的类型是整型的。所以p是一个返回整型数据的指针。int p[5];1、p与[]结合,说明p是一个数组。2、p[5]与int结合,说明数组里的元素是整型的。所以p是一个由整型数据组成的数组。int *p[5];1、p与[]结合(因为其优先级比*高),说明p是一个数组。2、p[5]与*结合,说明数组里的元素是指针类型。3、*p[5]与int结合, 说明指针所 阅读全文
posted @ 2012-08-08 08:24 山路水桥 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 文章作者:Slyar文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。qsort包含在头文件中,此函数根据你给的比较条件进行快速排序,通过指针移动实现排序。排序之后的结果仍然放在原数组中。使用qsort函数必须自己写一个比较函数。函数原型:void qsort (... 阅读全文
posted @ 2012-08-08 08:14 山路水桥 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1690Wa了久,终于解决了,现在放出代码。代码如下:#include <iostream>using namespace std;const long long INF = 99999999999LL; //INF要开得非常大才可以过,一直Wa就因为这个原因const int N = 101;long long map[N][N];void floyd(int n, int m, int r);void output(int m, int r);int main(){ int t, i, 阅读全文
posted @ 2012-08-03 10:36 山路水桥 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544简单的最短路径问题,用Djikstra即可解决!代码如下:#include <cstdio>#include <cstring>using namespace std;const int MAX = 101;const int INF = 1000000001;int map[MAX][MAX];int visited[MAX];int dist[MAX];int djikstra(int v, int n);int main(){ int n, m; int i; . 阅读全文
posted @ 2012-08-02 16:55 山路水桥 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 题目链接如下:http://acm.hdu.edu.cn/showproblem.php?pid=3790这题用最短路径Djikstra就可以解决,用Floyd会超时!代码如下:#include <iostream>using namespace std;const int INF = 999999999;const int N = 1001;struct{ int distance; int price; } map[N][N];int dist[N];int price[N];int visited[N];void djikstra(int s, ... 阅读全文
posted @ 2012-08-02 16:50 山路水桥 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序... 阅读全文
posted @ 2012-07-29 16:30 山路水桥 阅读(208) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2602简单的0-1背包问题代码如下:#include #include using namespace std;int value[1001], volume[1001];int record[1001][1001... 阅读全文
posted @ 2012-07-29 15:36 山路水桥 阅读(136) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 下一页