數據結構(1)-選擇排序和插入排序

選擇排序

趁着下班時候擼了個選擇排序,參考了下別人的插入排序

選擇排序

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;
}


發佈了30 篇原創文章 · 獲贊 9 · 訪問量 6095
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章