- 博客(6)
- 资源 (5)
- 收藏
- 关注
转载 交换两个变量的值,不使用第三个变量
通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法)。
2014-11-27 15:57:58 842
转载 工厂模式
简单工厂模式1. 目的 工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。2 . 简单工厂模式的结构 3. 一个简单例子java 代码// 产品接口 public interface Product {
2014-11-25 16:14:19 757
原创 移位运算的算法
移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:>(带符号右移)和>>>(无符号右移)。 在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。移动long型的数值时,规定实际移动的次数是移动次
2014-11-20 16:21:43 4722
转载 short s=1;s=s+1; short s=1;s+=1; 有区别么?? 如果有的话区别是什么? 没有的话值是多少?
short s=1; s=s+1; 自然是编译不通过的 提示损失精度 那么 short s=1; s+=1; 为什么能编译通过那? 还有一个问题 隐式类型转换可以从小到大自动转,即byte->short->int->long如果反过来会丢失精度,必须进行显示类型转换 s+=1的意思与s=s+1不同,s=s+1这句先执行s+1然后把结果赋给s,由于1为int类型,所以s+1的
2014-11-20 15:34:52 2207 1
转载 生产者和消费者模式
生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区。其中一个是生产者,用于将消息放入缓冲区;另外一个是消费者,用于从缓冲区中取出消息。问题出现在当缓冲区已经满了,而此时生产者还想向其中放入一个新的数据项的情形,其解决方法是让生产者此时进行休眠,等待消费者从缓冲区中取走了一个或者多个数据后再去唤醒它。
2014-11-19 17:42:23 1877
设计模式C++ 最新版
2010-04-13
Thinking in Java
2010-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人