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站点跟踪用户的参数并 ......
一直以来,java对于我都是新事物,对于新事物的接受方式也一直习惯从浅入深,循序渐进。
但是今天,张孝详老师给我们上了生动的一课,一个程序员最重要的能力就是学习能力,因为
计算机领域的技术其更新超快,目前所掌握的知识很有可能短时间内会被淘汰,而且会出现更好
更简洁的语言,那么该怎么去掌握呢。张老师认为, ......
引言:从一个朋友的blog转过来的,里面解决了两个困扰我很久的问题。很有久旱逢甘霖的感觉。
中软国际电子政务部Jeff Chi总结,转载请说明出处。
概述:
A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
&nb ......
mysql数值范围
tinyint -128~127 0~255
smallint -32768~32767 0~65535
mediumint -8388608~8388607 0~16777215
int -2147483648~2147483647 0~4294967295
bigint -9223372036854775808~9223372036854775807 0~18446744073709551615
java中
byte ......