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次,当交换操作时间花费比比较花费时间多的时候选择排序实际上是比较快的.
相关文档:
显示所有的用户表
select tablename from sys.systables where tabletype='T'
创建表
Create Table MAPS(
ID integer not null generated always as identity(start with 1,increment by 1),
map_name varchar(40),
area_int int,
area decimal ......
本文将告诉你学习Java需要达到的30个目标,希望能够对你的学习有所帮助。对比一下自己,你已经掌握了这30条中的多少条了呢?
1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。
2.你需要学习JAVA语言的基础 ......
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 ......
其实这个问题并不难,但是很多年没有研究过几何了.问题卡在这里了,准确的说我根本没有学过圆的标准公式这部分内容,google了很多,重新划了坐标研究了公式..解方程...
虽然结果还不是很圆,但是方法应该是正确了.
主要是因为double取整后有一些偏差.
另外行数多少,半径大小也相互影响
import java.lang.Math;
public cla ......
自从上次写了二分法查找代码后突然打算好好学习一下数据结构.买了一本数据结构与算法......
import java.util.Random;
/**
*
* @author leon.lee
*/
public class BubbleSort {
private int[] arrayData;
public void printArrayList(){
if (arrayData!=null){
for(int i:a ......