Java的选择排序算法

这个相对简单点,我想法是锁定每一次排序的逻辑表达,截断数组,就是找到最小的拿出来,放前面,再找出最小的放剩下的部分的前面。 
类部分:selection_sort. Java  
package algorithm;

public class selection_sort {

	private int right;
	private static int number=0;//计次器

	public void selection_one(double[] p){//做一次排序
		
		for(right=1+number;right<p.length;right++){
			if(p[number]>p[right]){
				double key=0;
				key=p[right];
				p[right]=p[number];
				p[number]=key;
			}
		}
		number++;	
	}
    public void selection_complete(double[] p){//完全排序完成的函数
    	while(number<p.length){
    		selection_one(p);
    	}
    	
    }
//			    public static int getNumber() {
//					return number;
//				}                                                  方便观察每趟的变化
//				public static void setNumber(int number) {         可以试着读出number的值
//					selection_sort.number = number;
//				}
	public void display(double[] p){//显示数组效果
    	for(int i=0;i<p.length;i++){
    		System.out.println(p[i]);
    	}
    	
    }
}

测试text

package algorithm;

public class text {
	public static void main(String[] args) {
         double[] array1={12,23,12,22,43,1};
         selection_sort text2=new selection_sort();
         text2.selection_complete(array1);
         text2.display(array1);
//         System.out.println(selection_sort.getNumber());   试读number
          
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值