- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 Java克隆(Clone)的应用
Java克隆(Clone)是Java语言的特性之一,但在实际中应用比较少见。但有时候用克隆会更方便更有效率。 对于克隆(Clone),Java有一些限制: 1、被克隆的类必须自己实现Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。Cloneable 接口实际上是个标识接口,没有任何接口方法。 2、实现Cloneable
2008-12-17 11:38:00 476
原创 困睡的理发师
理发师问题:一个理发店有一个入口和一个出口。理发店内有一个可站5 位顾客的站席区、4 个单人沙发、3 个理发师及其专用理发工具、一个收银台。新来的顾客坐在沙发上等待;没有空沙发时,可在站席区等待;站席区满时,只能在入口外等待。理发师可从事理发、收银和休息三种活动。理发店的活动满足下列条件:1)休息的理发师是坐地自己专用的理发椅上,不会占用顾客的沙发;2)处理休息状态的理发师可为在沙发上等待时间最
2008-12-13 13:35:00 985
原创 哲学家进餐问题
哲学家进餐问题:(1) 在什么情况下5 个哲学家全部吃不上饭?考虑两种实现的方式,如下:A.算法描述:void philosopher(int i) /*i:哲学家编号,从0 到4*/{while (TRUE) {think( ); /*哲学家正在思考*/take_fork(i); /*取左侧的筷子*/take_fork((i+1) % N); /*取左侧筷子;%为取模运算*/eat( ); /*
2008-12-13 13:33:00 1539
原创 一个圆周率的算法
#include #include int a=10000, b, c=2800, d, e, f[2801], g; main() { for(;b-c;)f[b++]=a/5; for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a) for(b=c;d+=f[b]*a,f
2008-12-11 13:25:00 757
原创 约瑟夫环
用数组实现约瑟夫出圈问题,n个人排成一圈,从第一个开始报数,报到m的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,求出所有的人出圈顺序。 转的一个比较易懂地方法 package class_only;import java.util.ArrayList;import java.util.List;/** *//** *
2008-12-06 15:24:00 524
原创 输入如下形式的矩阵
/** * 输入如下形式的矩阵 * 3 3 3 3 3 * 3 2 2 2 3 * 3 2 1 2 3 * 3 2 2 2 3 * 3 3 3 3 3 * @param n */ /** * 显示矩阵 * * @param n * 边长 */ static void ShowBox(i
2008-12-05 15:27:00 616
原创 十进制数转换为非十进制书
十进制数转换为非十进制书(N进制数) 方法:整数部分采取“除基数取余法”,小数部分采取“乘基数取整法”。所谓除基数取余法就是用基数去除十进制的整数部分,第一次除得的余数作为目的数的最低位,把得到的商再除以该基数,所得余数作为目的数的次低位,依次类推,直到商为0,所得余数作为目的数的最高位。53/2=26…..1 低位26/2=13…..013/2=6……..1
2008-12-05 14:25:00 1958
原创 渔夫分鱼算法
A,B,C,D,E五个渔夫夜间合伙捕鱼,凌晨都疲惫不堪,各自在草丛中熟睡。第二天清晨A先醒来,他把鱼均分五份,把多余的一条扔回湖中,便拿了自己的一份回家了,B醒来后,也把鱼均分五份,把多余的一条扔回湖中,便拿了自己的一份回家了,C,D,E也按同样方法分鱼。问5人至少捕到多少条鱼? /** * 渔夫分鱼 * * @param n
2008-12-05 13:55:00 1550
原创 冒泡升序
/** * 冒泡升序 * * @param array */ static void sort_maopao(int[] array) { int temp; for (int i = 0; i for (int j = 0; j 1; j++) { if (array[j] > array[j + 1]) {
2008-12-05 13:04:00 377
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人