标签:demo 代码 算法 als 返回 元素 key i+1 循环
选择排序的原理:/**
冒泡排序的实现
*/
public class SelectArray {
//数组
private long[] arr = null;
//数组中有效数据的大小
private int elems;
public SelectArray() {
arr = new long[50];
}
public SelectArray(int length){
arr = new long[length];
}
/**
/**
@return
*/
public int find(long value){
int i = 0;
for(i=0;i<elems;i++){
if(value==arr[i])
break;
}
if(i >(elems-1)){
return -1;
}
return i;
}
/***
@param value
*/
public boolean delete(long value){
int key = find(value);
if(key == -1){
System.out.println("删除数据失败,未查找到要删除的数据");
return false;
}
for (int i = key; i < elems; i++) {
arr[i] = arr[i+1];
}
elems--;
return true;
}
/***
/**
*/
public void selectSort(){
int min = 0;
long tmp = 0;
for (int i = 0; i < elems-1; i++) {
for (int j = i; j < elems; j++) {
if(arr[min] > arr[j]){
min = j;
}
}
tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
}
/**
}
测试代码如下:
package com.zcp.ch03;
public class TestSelectMain {
public static void main(String[] args) {
SelectArray bubbleArray = new SelectArray();
bubbleArray.insert(10);
bubbleArray.insert(50);
bubbleArray.insert(80);
bubbleArray.insert(2);
bubbleArray.insert(2);
bubbleArray.disPlay();
bubbleArray.selectSort();;
System.out.println("选择排序后的数据如下:");
bubbleArray.disPlay();
}
}
标签:demo 代码 算法 als 返回 元素 key i+1 循环
原文地址:http://blog.51cto.com/7298246/2154949