本程序用于计算任意四则运算表达式。如 4 * ( 10 + 2 ) + 1 的结果应该为 49。
算法说明:
1. 首先定义运算符优先级。我们用一个
Map>
来保存优先级表。这样我们就可以通过下面的方式来计算两个运算符的优先级了:
/**
* 查表得到op1和op2的优先级
* @param op1 运算符1
* @param op2 运算符2
* @retur...
分类:
编程语言 时间:
2014-06-24 22:37:29
阅读次数:
217
说到冒泡排序,大一的时候第一次学习这个排序算法,可能大家不知道,“冒泡”在我说的方言里面是吹牛逼的意思。所以就觉得这个排序算法特吹牛逼有木有。
相信大家对所有的排序算法,这个想必是最熟悉的。大学老师多次强调,去培训,讲师也会提到,这个在面试经常被问到,所以我建议大家最好把这个算法背下来,做到心中有冒泡,手上写出来 哈哈。
好了,言归正传。...
分类:
编程语言 时间:
2014-06-24 23:26:45
阅读次数:
305
作为Java的初学者,不知道其他的初学者有没有和我一样的感受:用Java开发需要配置这么复杂的环境,太难了!第一次配置时,一团混乱,Oracle监听服务打不开了,PLSql连接不上Oracle了,等着这些都解决了,又听说还要配置Tomcat,一查,配置Tomcat之前还需要配置JDK,于是,就好像抓住了一个绳子一样,这个绳上的蚂蚱就炸锅啦!不过好在,现在基本上完成了对Java开发环境的基本设置,所...
分类:
编程语言 时间:
2014-06-24 19:55:40
阅读次数:
357
基于初级的线程池优化,这里最主要的问题是解决线程id的管理问题,以及线程取消的管理
这里采用链表来管理线程id,链表的特性便于新增和删除,引进thread_revoke结构体来标记全局的取消线程信息,先分析一下线程什么时候需要取消:当任务很少,少到tasknum
这里维护一个取消队列,在线程取消时,置全局取消标志位为1,pthread_broadcast()唤醒所有线程,让在线程唤醒时会判断...
分类:
编程语言 时间:
2014-06-24 23:50:26
阅读次数:
489
【问题】
Given n points
on a 2D plane, find the maximum number of points that lie on the same straight line.
【思路】
对每一个点,分别计算这个点和其他所有点构成的斜率,具有相同斜率最多的点所构成的直线,就是具有最多点的直线。
【代码】
class Point:
def __in...
分类:
编程语言 时间:
2014-06-25 19:34:29
阅读次数:
246
JavaScript获取某年某月的最后一天
1、实现源码
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in th...
分类:
编程语言 时间:
2014-06-24 22:36:13
阅读次数:
350
python社区不乏幽默,先来看“python之道”这首诗。
导入this包:
import this
输出时一首诗,这首诗总结了Python的风格,可以指导Python程序员的编程。下面是译文:
The Zen of Python, by Tim Peters
Python之道
Beautiful is better than ugly.
美观胜于丑陋。
Explicit i...
分类:
编程语言 时间:
2014-06-24 22:40:23
阅读次数:
295
本文分析的是llvm libc++的实现:http://libcxx.llvm.org/
C++11中的各种mutex, lock对象,实际上都是对posix的mutex,condition的封装。不过里面也有很多细节值得学习。
std::mutex
先来看下std::mutex:
包增了一个pthread_mutex_t __m_,很简单,每个函数该干嘛就干嘛。
class mutex...
分类:
编程语言 时间:
2014-06-25 19:22:54
阅读次数:
338
最近在学javaweb技术,利用所学知识做了一个简单的项目,在服务器上实现给用户下载文件的功能。自动列出文件夹下的文件提供下载,支持中文文件名。
其中使用了tomcat来部署服务器,代码中应用了少许EL表达式和JSTL标签,使用了jsp和servlet,当然还有java和http的基础知识,但是个人觉得重点是http的Content-Disposition头信息和Content-type头信息在servlet中下载方面的应用...
分类:
编程语言 时间:
2014-06-24 20:09:06
阅读次数:
531
1.开发工具
在汇编语言中,用到的工具主要用以下几个:
汇编器、连接器、调试器、编译器
因为我在这里的是AT&T汇编语言,所以工具下也都是gnu下的那些。
1.1 汇编器(as)
汇编器有很多,masm,nasm,gas等,不像高级语言,虽然都叫汇编语言,但不同的汇编器,其语法是存在很大不同的。Intel汇编的书籍到处可见,可是AT&T的却少之又少。但想看Linux内核的话,还是要对A...
分类:
编程语言 时间:
2014-06-24 17:58:34
阅读次数:
292
最近,在研究一些比较成熟的框架,这其中也发现了一些比较不错的文章,现给大家简单翻译其中的一部分(强烈建议大家看一些原版的英文文章,很有帮助)。...
分类:
编程语言 时间:
2014-06-24 19:15:10
阅读次数:
142
Java最基本的封装是class,除此之外还有接口interface。这段时间一直在想接口有什么作用呢,有了接口有哪些好处呢。结合网络上各位大神的文章,接口的作用大概体现在以下几个方面。
1.回调
2.方法参数
3.多态
对于上面的结论,笔者自己也做了思考,并且概括为:接口是一种能力的声明或者说是一种能力的约束。从接口能力的引用方面来看,这个是能力的声明。要想被这个接口引用指向,你就必须具...
分类:
编程语言 时间:
2014-06-24 18:58:19
阅读次数:
210
1、对于下面的声明语句
int a; 如果其位置出现在所有的函数体之外,那么它就被称为外部对象a的定义。这个语句说明了a是一个外部整型变量,同时为a分配了存储空间。因为外部对象a并没有被明确指定任何初始值,所以它的初始值默认为0(某些系统中的连接器对以其他语言编写的程序并不保证这一点,C编译器有责任以适当方式通知连接器,确保未指定初始值的外部变量初始化为0)。
2、又如下面的声明语...
分类:
编程语言 时间:
2014-06-24 20:39:46
阅读次数:
211
使用Nashorn开发Web的框架,效率高...
分类:
编程语言 时间:
2014-06-24 19:38:19
阅读次数:
191
我们直接看例子:
Map mallMap = new HashMap();
mallMap.put(MallStatus.SELFMALL.toString(),
MallStatus.SELFMALL.getValue());
mallMap.put(MallStatus.DELEGATIONMALL.toString(),
MallStatus.DELEGATIONMALL.getV...
分类:
编程语言 时间:
2014-06-25 19:59:55
阅读次数:
207
/*
混合C++、JS、python、Lisp、汇编
1种语言,5种语法
*/
main
{
//C++
vector v;
v.push(2);
putsl(v.size());
if(v.count()==1)
{
putsl("abc");
}
//JS
var a=function(x){
return x*2;
}
putsl(a(3));
a={90...
分类:
编程语言 时间:
2014-06-24 20:39:10
阅读次数:
307
引言:如果想把一个字符串读到程序中,必须首先预留存储字符串的空间,然后使用输入函数来获取这个字符串。
读取字符串输入的第一件事是建立一个空间以存放读入的字符串。
char *name;
scanf("%s", name);
这段代码虽然可能通过编译,但因为name可以指向任何地方,所以它的输入值可能覆盖以前name所指位置的值。
解决办法是声明一个固定大小的字符数组,或者使用C库...
分类:
编程语言 时间:
2014-06-24 23:17:08
阅读次数:
242