文档章节

两个小程序

hehe_
 hehe_
发布于 2016/05/12 19:52
字数 318
阅读 23
收藏 0

 

 

/**
	 * 二分查找,找数,
	 * @param array
	 * @param data
	 * @return 返回下表,没有返回-1
	 */
	public int find(int[] array,int data){
		
		/**
		 * 1 2 3 4 5 6 7 8   找  1
		 *      
		 *      1.跟4比
		 *      2.跟2比
		 *      3.找到了
		 * 
		 * 有序数组二分查找,从中间开始比较,小于就往左,大于就往右 递归
		 */
		
		int minIndex = 0;
		int maxIndex = array.length - 1;
		int middle = array.length /2;
		
		while(minIndex<=maxIndex){
			if(data == array[middle])
				return middle;
			else if(data<middle)
				maxIndex = middle -1;
			else
				minIndex = middle+1;
		}
		return -1;
	}

 

       /**
		 * 公鸡 3元/只  母鸡5元/只   小鸡  3只/元
		 * 100 元 买100只鸡
		 * 各几个鸡
		 * 
		 * 分析:
		 * 
		 * 公鸡 a 母鸡b 小鸡c
		 * 3a+5b+c/3=100 钱
		 * a+b+c=100 个
		 * c%3=0
		 * 
		 */
			
		/**
		 * 暴力解决
		 */
		
		for(int a =0 ;a<100;a++){
			for(int b=0;b<100;b++){
				int c=100-a-b;
				if(3*a+5*b+c/3==100 && c%3==0){
					System.out.println("公鸡:"+a+",母鸡:"+b+",小鸡:"+c);
				}
			}
			
		}

 

package net.mine.std.struct;

public class FastSort {

	public void robin(int s[],int l, int r){

		if(l < r){
			int i = l,j = r, t = s[l];
			
			while(i<j){
				
				while(i< j && s[j]>t){
					j--;
				}
				if(i<j){
					s[i] = s[j];
					i++;
				}
				
				while(i<j && s[i] <= t){
					i++;
				}
				if(i< j){
					s[j] = s[i];
					j--;
				}
			}
			s[i] = t;
			
			robin(s, l, i-1);
			robin(s, i+1, r);
		}
		
	}
	
	public static void main(String args[]){
		
		int arr[]= {9,8,3,2,1,6,10,5};
		
		FastSort s = new FastSort();
		s.robin(arr, 0, arr.length-1);
		
		for(int i : arr){
			System.out.println(i);
		}
		
	}
	
}

 

© 著作权归作者所有

共有 人打赏支持
hehe_
粉丝 2
博文 11
码字总数 5847
作品 0
大兴
程序员
私信 提问
如果两个程序都这样做会怎样?

本文作者介绍 Raymond Chen Raymond Chen是微软Windows Shell开发团队中的知名程序员,从1992年加入微软开始,他参与过OS/2,Windows 95,DirectX已经以后版本的Windows的开发。他的关于Win...

oschina
2013/11/06
5K
25
并行、并发、同步和互斥

并行 计算机操作系统中的并行,指的是同时存在于内存中的多道作业都处于运行状态。实际上都是宏观上并行,微观上串行,因为这些作业都是开始各自的运行,但都没运行完毕,只是交替地使用cpu...

动态灵犀
2015/10/22
171
0
windows mobile 开发有关wifi的问题

最近我在做windows mobile 开发的课程设计,遇到了一个问题想请教大家,问题如下: 我用C/S的模式做了两个应用程序,并实现两应用程序的通讯,我把服务器应用程序放在笔记本上,客户端的应用...

wade26
2013/12/13
73
0
疯狂ios讲义之开发游戏界面

《疯狂连连看》游戏的游戏界面大致上可分为以下两个区域。 Ø 游戏主界面区。 Ø 控制按钮与数据显示区。 †† 13.2.1 开发界面布局 本程序中使用一个自定义UIView作为游戏区,该自定义的UIV...

博文视点
2014/02/12
290
1
疯狂ios讲义之实现游戏逻辑(2)

13.6.5 定义获取通道的工具方法 这里所谓的通道,指的是一个方块上、下、左、右4个方向上的空白方块,图13.10显示了一个方块四周的通道。 图13.10 方块四周的通道 下面是获取某个坐标点四周通...

博文视点
2014/02/20
162
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 风扇写着先生请自爱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蚂蚁哈哈哈 :分享陈奕迅的单曲《落花流水》 《落花流水》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @车谷 :我发现每天上班都好困 ...

小小编辑
26分钟前
2
0
centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
6
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部