数据结构(1)-选择排序和插入排序

来源:互联网 发布:什么是js面向对象编程 编辑:程序博客网 时间:2024/06/08 10:30

选择排序

趁着下班时候撸了个选择排序,参考了下别人的插入排序

选择排序

package Test;


public class SelectSort {

public void sortTest(int arr[])
{
    for(int i=0;i<arr.length;i++)
    {
    int flag = i;
    for(int x = i+1;x<arr.length;x++)
    {
    if(arr[flag]>arr[x])
    {
    flag=x;
    }
     
    }
    if(flag!=i)
    {
    int temp =arr[ flag];
    arr[flag]=arr[i];
    arr[i]=temp;
    }
    }
}

public static void main(String[] args) {
int arr[]= {3,2,1,6,5};
SelectSort ss = new SelectSort();
ss.sortTest(arr);
for(int i =0 ;i<arr.length;i++)
{
System.out.println("arr"+i+": "+arr[i]);
}
}


}


插入排序

/**
*插入排序
*@paramarr
*@return
*/
private static int[] insertSort(int[]arr){
if(arr == null || arr.length < 2){
    return arr;
}
for(inti=1;i<arr.length;i++){
for(intj=i;j>0;j--){
if(arr[j]<arr[j-1]){
//TODO:
int temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}else{
//接下来是无用功
break;
}
}
}
return arr;
}


原创粉丝点击