选择排序


//SelectArray.java
public class SelectArray {
private int[] a;

private int nElements;

public SelectArray(int max) {
a = new int[max];
nElements = 0;
}

public void insert(int element) {
if (nElements == a.length) {
System.out.println("can't insert element because the array is beyond size.");
return;
}
a[nElements] = element;
nElements++;
}

public void selectSort() {
int out, in, min, temp;
for (out = 0; out < nElements - 1; out++) {
min = out;
for (in = out + 1; in < nElements; in++)
if (a[in] < a[min])
min = in;
temp = a[out];
a[out] = a[min];
a[min] = temp;
}
}

public void display() {
StringBuffer sb = new StringBuffer();
sb.append("[");
int j;
for (j = 0; j < a.length; j++) {
sb.append(a[j] + ",");
}
sb.deleteCharAt(sb.length() - 1);
sb.append("]");
System.out.println(sb.toString());
}
}


//Main.java
public class Main {
public static void main(String[] args){
SelectArray selectArray = new SelectArray(10);
selectArray.insert(2);
selectArray.insert(5);
selectArray.insert(6);
selectArray.insert(3);
selectArray.insert(4);
selectArray.insert(1);
selectArray.display();
selectArray.selectSort();
selectArray.display();
}
}

输出结果:

[2,5,6,3,4,1,0,0,0,0]
[1,2,3,4,5,6,0,0,0,0]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值