Fork me on GitHub

排序算法之简单选择排序

1、基本思想

  在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。

2、代码示例

package sort;

import org.junit.Test;

/**
 * 简单选择排序 
 */
public class SelectSort {
    
    @Test
    public void TestSort(){
         int a[]={1,54,6,3,78,34,12,45};  
         sort(a);
    }
    
    public void sort(int arr[]){  
        int i,j,temp,position;
        int len=arr.length;
        for(i=0;i<len;i++){  
            position=i; 
            temp=arr[i];
            //循环待排序列表找到最小数位置
            for(j=i+1;j<len;j++){  
                if(arr[j]<temp){  
                    temp=arr[j];  
                    position=j;  
                }  
            }  
            //最小数与当前排序树交换位置
            arr[position]=arr[i];  
            arr[i]=temp;  
        }  
        for(i=0;i<len;i++){
            System.out.print(arr[i]+" ");  
        }
    }  

}

3、效率分析

 

posted @ 2015-08-24 15:08  何海洋  阅读(675)  评论(0编辑  收藏  举报