java选择算法_java选择算法

1.算法主程序

package array;

public class SelectSort {

private long[] a;

private int nElemes;// the numbers of array

// ---------constructed function----------

public SelectSort(int max) {

a = new long[max];

nElemes = 0;

}

// ----------size()-------

public int size() {

return nElemes;

}

// --------insert----------

public void insert(long value) {

a[nElemes] = value;

nElemes++;

}

// -----------select---选择排序主算法---------

public void select() {

while (size() > 0) {//当元素个数为一时,默认是有序的

int min, outer, inner;

for (outer = 0; outer < size()-1; outer++) {//out for loop

min = outer;

for (inner = outer+1; inner < size(); inner++)//inner for loop

if (a[inner] < a[min])

min = inner;

swap(outer, min);

}

break;

}

}// end bubbleSort

// --------display()--------

public void display() {

for (int i = 0; i < size(); i++)

System.out.print(a[i] + " ");

System.out.println();

}

// ----swap---交换两个元素的值---

public void swap(int i, int j) {

long k;

k = a[i];

a[i] = a[j];

a[j] = k;

}

}

2.算法验证

package array;

public class SelectApp {

/**

* @param args

*/

public static void main(String[] args) {

SelectSort sort = new SelectSort(10);

sort.insert(56);

sort.insert(52);

sort.insert(41);

sort.insert(40);

sort.insert(2);

System.out.println("排序前:");

sort.display();

System.out.println("排序后:");

sort.select();

sort.display();

}

}

3.验证结果

排序前:

56 52 41 40 2

排序后:

2 40 41 52 56

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值