选择排序法也算是枚举法的应用,就是反复从未排序的数列中取出最小的元素,加入另一个数列中,最后的结果即为已排序的数列。选择排序法可以使用两种方法排序,则在多有的数据中,若从大到小排序,则将最大值放入最后一个位置。
代码实现:
var showdata = (data) => {
for(k=0;k<8;k++) {
process.stdout.write(data[k]+ '')
}
}
var select = (data) => {
for(i=0;i<7;i++) {
smallest=data[i];
for(j=j+1;j<8;j++) {
if(smallest>data[j]) {
smallest=data[j] ;
index=j
}
}
tmp=data[i]
data[i]=data[index];
data[index]=tmp;
console.log();
process.stdout.write('第'+(i+1)+'次序的结果:')
}
}
data=[16,25,39,27,12,8,45,63];
process.stdout.write('原始数据为:');
for(i=0;i<8;i++) process.stdout.write(data[i]+'')
console.log();
console.log('-----------------')
select(data);
console.log();
console.log('----------------------')
process.stdout.write('排序之后的算法为:')
for(i=0;i<8;i++) process.stdout.write(data[i]+'')
console.log()
console.log('-------------------')