- 浏览: 400916 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
junchao_qin:
[img][flash=200,200][url][img]引 ...
MyEclipse中使用VSS插件 -
tigerwood008:
IE11不好用!!
js弹出窗口 + 获取上传文件全路径 -
TheMatrix:
$.ajaxSetup({async : false});这种 ...
jquery 中的post和get方法如何同步 -
多多成长记:
Blazeds与java通信 -
ZED.CWT:
[align=ceiinter][/align]
java中利用JFrame创建窗体 【转】
转自:http://blog.csdn.net/liangjianyong/article/details/4941365
java随机排列数组
有时我们需要随机的排列数组中的元素,随机排列数组,目前常用的有两种方法,第一种就是元素A[i]对应一个优先级P[i],根据优先级作 为键值来从新排序数组;第二种方法就是A[i]随机的跟A[i]到A[n]中的任意个元素进行交换,n为数组的长度,下面是用java实现一个简单实现.
- import java.util.Date;
- import java.util.Random;
- /*
- * 随即排列数组,给定一个数组,随即排列其中的元素,目前主要有两种方法
- */
- public class RandomSort {
- public static void main(String args[]){
- int data[]= new int []{1,42,51,62,8,94,23,13,40,5};
- //int p[]=getRandom(1,-8,100);
- //show(p);
- show(data);
- permuteBySort(data);
- show(data);
- randomizeInPlace(data);
- show(data);
- }
- /*
- * 随机排列数组,使用优先级方式,每个数组元素A[i] 对应一个优先级P[i],
- * 然后依据优先级对数组进行排序
- */
- private static void permuteBySort( int [] data)
- {
- int len=data.length;
- int len3=len*len*len;
- int P[]=getRandom(1,len3,len);
- //冒泡排序
- for ( int i=len-1; i>0; i--)
- {
- for ( int j=0; j<i ; j++)
- {
- if (P[j]>P[j+1])
- {
- int temp=data[j];
- data[j]=data[j+1];
- data[j+1]=temp;
- temp=P[j];
- P[j]=P[j+1];
- P[j+1]=temp;
- }
- }
- }
- }
- /*
- * 元素A[i]是从 元素A[i]到A[n]中随机选取的
- */
- private static void randomizeInPlace( int [] data)
- {
- Date dt=new Date();
- Random random=new Random(dt.getSeconds());
- int len=data.length;
- for ( int i=0; i<len; i++)
- {
- int pos=( int )(random.nextDouble()*(len-i+1)+i)-1;
- int temp=data[i];
- data[i]=data[pos];
- data[pos]=temp;
- }
- }
- /*
- * 获得在a到b之间的n个随机数
- */
- private static int [] getRandom( int a, int b, int n)
- {
- if (a>b)
- {
- int temp=a;
- a=b;
- b=temp;
- }
- Date dt=new Date();
- Random random=new Random(dt.getSeconds());
- int res[]= new int [n];
- for ( int i=0; i<n; i++)
- {
- res[i]=(int )(random.nextDouble()*(Math.abs(b-a)+1))+a;
- }
- return res;
- }
- private static void show( int [] data)
- {
- System.out .println( "========================" );
- for ( int i = 0; i < data.length; i++)
- {
- System.out .print(data[i] + " " );
- }
- System.out .println();
- System.out .println( "========================" );
- }
-
}
发表评论
-
判断二叉树是否平衡及计算二叉树深度和结点个数
2012-09-01 10:12 7655参考:http://blog.csdn.net/zz19880 ... -
【转】java实现二叉查找树
2012-08-31 09:44 1433转自:http://blog.csdn.net/zyj817 ... -
二叉树及其遍历
2012-08-21 09:50 1512转自:http://www.iteye.com/t ... -
java栈中缀表达式转为后缀表达式
2012-07-19 11:33 2415思路: 遇到数字,则输出。 遇到操作符,入栈,在入栈前若该 ... -
java栈实现括号匹配
2012-07-19 09:48 4507算法思想: 做一个空栈,读入字符。 若字符是左运算符,则入 ... -
【转】java静态变量和实例变量的区别
2012-06-20 11:02 1296转自:http://www.2cto.com/kf/20100 ... -
【转】java中会存在内存泄漏吗,请简单描述。
2012-06-20 10:24 1347java中 ... -
【转】java匿名内部类2
2012-06-12 13:45 1173匿名内部类就是没有名字的内部类。什么情况下需要使用匿名内部类? ... -
【转】java匿名内部类
2012-06-12 13:32 1386java匿名内部类 (2010-11 ... -
【转】JAVA中获取路径
2012-03-25 16:57 818转自:http://wenku.baidu.com/view/ ... -
【转】Map遍历
2012-03-25 16:56 909转自:http://wenku.baidu.com/view/ ... -
【转】java解析xml文件四种方式
2012-03-25 16:54 1326转自:http://wenku.baidu.com ... -
【转】JDOM解析处理xml
2012-03-25 16:52 1196转自http://qingbyqing.iteye.com/b ... -
【转】解析Html页面:HTML Parser的试用
2012-03-24 15:10 1366转自:http://blog.csdn.net/scud/ar ... -
设计模式——代理模式
2012-01-06 13:14 1233代理模式: 为其他对象提供一种代理以控制对这个对象的访问 ... -
设计模式——装饰模式
2012-01-05 15:58 1232首先介绍三个重要原则: 依赖倒转原则:高层模块不应该依赖于 ... -
设计模式——策略模式 & 单例模式
2011-12-29 16:26 1476策略模式: * 策略模式定义了算法家族,分别封装起来,让他 ... -
排序算法
2011-12-28 22:41 903参考:http://student.zjzk.cn/cours ... -
设计模式——简单工厂 VS 工厂方法
2011-12-28 15:07 1144简单工厂模式: 它最大优点在于工厂类中包含了必要的逻辑 ... -
String
2011-12-27 10:53 12291. String s = new String(" ...
相关推荐
这2个函数实现了随机选择数据库中的题目,只需要读入界面端的每章题目数量,并按顺序排列,则可以从数据库中选择出所需要的题目的ID
从n个数组中取出所有排列组合(Java实现)
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...
"Image "image " 表3-3 PuzzlePad.java主要成员变量(属性) "名称 "功能 "备注 " "PuzzlePad "创建魔板对象 "构造方法 " "随机排列数字 "随机排列魔板中方块上的数字 " " "随机排列图像 "随机排列魔板中方块上的...
凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...
最近学java,数组部分有一题: 创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同。解法如下: int[] arr = new int[6]; //随机生成1-30范围内数字 for (int i = 0; i < arr.length; i++) {// ...
随机生成10000数字,进行快速排序,并输出排序后的数组,及耗时
实例044 利用数组随机抽取幸运观众 54 实例045 用数组设置JTable表格的列名与列宽 55 3.2 数组操作 57 实例046 数组的下标界限 57 实例047 按钮控件数组实现计数器界面 58 实例048 复选框控件数组 59 实例049 用数组...
使用java实现冒泡排序 ...2.创建main函数,声明一个int数组,随机写入一些数字 3.sortAsc进行升序排列 4.使用双重for循环进行排序,当第一个数字大于第二个数字, 则交换位置 5.sortDesc则和上一步相反规则
2. 设计一个Java程序,设有一个给定的int类型数组并有一批数据,现让你用二种以上的方法对其进行升或降序排列。 3. 写一个简单程序,判断输入的一串字符串是否为身份证号码,注意身份证判别的几个条件。 4. 设计一个...