Java 实现选择排序代码
选择排序就是从数据里面找到最小的放到最左边,每次比较所有数据后交换一次.
我从之前的冒泡排序类继承下来的.
package array;
/**
*
* @author leon.lee
*/
public class SelectionSort extends BubbleSort{
public SelectionSort(int arrayLength){
super(arrayLength);
}
@Override
public void sort() {
for(int i=0;i<arrayData.length-1;i++){
int minValuePostion = i;
for(int j=i+1;j<arrayData.length;j++){
if(arrayData[j]<arrayData[minValuePostion]){
minValuePostion = j;
}
}
swap(i,minValuePostion);
}
}
public static void main(String[] args) {
SelectionSort bs ;
try{
bs = new SelectionSort(10);
}catch(ExceptionInInitializerError e){
System.out.println(e.getMessage());
return;
}
bs.printArrayList();
bs.sort();
bs.printArrayList();
}
}
选择排序使用的时间依然是O(N2),但是交换次数之用了N次,当交换操作时间花费比比较花费时间多的时候选择排序实际上是比较快的.
相关文档:
java关键字以前没什么注意,因为是很基础的东东。只是今天做SCJP题目,一看答案吓我大跳,翻转了我以往的错误观念。查阅了不少资料终于弄清楚了。题目如下:
Which are not Java keywords?
A. TRUE B. sizeof C. const D. super E. void
& ......
本文将告诉你学习Java需要达到的30个目标,希望能够对你的学习有所帮助。对比一下自己,你已经掌握了这30条中的多少条了呢?
1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。
2.你需要学习JAVA语言的基础 ......
自从上次写了二分法查找代码后突然打算好好学习一下数据结构.买了一本数据结构与算法......
import java.util.Random;
/**
*
* @author leon.lee
*/
public class BubbleSort {
private int[] arrayData;
public void printArrayList(){
if (arrayData!=null){
for(int i:a ......
十四种Java开发工具点评
在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择。的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择。在本文中我简要介绍了常见的十五种Java开发工具的 ......