Java实现冒泡排序
自从上次写了二分法查找代码后突然打算好好学习一下数据结构.买了一本数据结构与算法......
import java.util.Random;
/**
*
* @author leon.lee
*/
public class BubbleSort {
private int[] arrayData;
public void printArrayList(){
if (arrayData!=null){
for(int i:arrayData){
System.out.print(i+",");
}
System.out.println("");
}
}
private void swap(int x,int y){
int tempV = arrayData[x];
arrayData[x]=arrayData[y];
arrayData[y]=tempV;
}
public void sort(){
/*
* 如果为了效率则把swap方法直接写在代码里,并且不要使用currentValue和nextValue变量
* 如此写法只是为了让结构清晰,方便阅读
*/
for(int i=0;i<arrayData.length;i++){
for(int j=0;j<arrayData.length-i-1;j++){
int currentValue = arrayData[j];
int nextValue = arrayData[j+1];
if(currentValue>nextValue){
swap(j,j+1);
}
}
}
}
private void initData(){
Random r = new Random(System.currentTimeMillis());
for(int i=0;i<arrayData.length;i++){
arrayData[i]=r.nextInt(100);
}
}
public BubbleSort(int arraylength){
if(arraylength<1){
throw new ExceptionInInitializerError("您不能使用小于1的数字");
}else if(arraylength>100){
throw new ExceptionInInitializerError("您不能使用大于100的数字");
}
arrayData = new int[arraylength];
initData();
}
public static void main(String[] args) {
BubbleSort bs ;
try{
bs = new BubbleSort(50);
}catch(ExceptionInInitializerError e){
System.out.println(e.getMessage());
return;
}
bs.printArrayList();
bs.sort();
bs.printArrayList();
}
}
run:
6,54,18,6,29,85
相关文档:
Java Servlet API说明文档(2.1a版)(四)
术语表\r
bytecode
字节码:由Java编译器和Java解释程序生成的机器代码。
cookie
由Web服务器建立的数据,该数据存储在用户的计算机上,提供了一个Web站点跟踪用户的参数并 ......
如何交换两个变量的值:
C语言中的传值代码如下:
int change(int x,int y)
{
int temp=x;
x=y;
y=temp;
}
C语言中的传址代码如下:
int change(int *p,int *q)
{
int temp=*p;
*p=*q;
*q=temp;
}
使用C++中的引用类型代码如下:
int change(int &x,int &y)
{
int temp=x;
x=y;
y=temp;
}
JAV ......
java关键字以前没什么注意,因为是很基础的东东。只是今天做SCJP题目,一看答案吓我大跳,翻转了我以往的错误观念。查阅了不少资料终于弄清楚了。题目如下:
Which are not Java keywords?
A. TRUE B. sizeof C. const D. super E. void
& ......
CREATE OR REPLACE FUNCTION F_HPS_SPLIT
/*
* 功 能: split.
* 输入参数: Liststr string
* 输入参数: Sepe index
* 输入参数: Sepe separator. default is ','.
* return sepeCount
*/
(
......
其实这个问题并不难,但是很多年没有研究过几何了.问题卡在这里了,准确的说我根本没有学过圆的标准公式这部分内容,google了很多,重新划了坐标研究了公式..解方程...
虽然结果还不是很圆,但是方法应该是正确了.
主要是因为double取整后有一些偏差.
另外行数多少,半径大小也相互影响
import java.lang.Math;
public cla ......