常見的排序:
選擇排序 直接選擇排序 堆排序
交換排序 氣泡排序 直接交換排序
插入排序 直接插入排序 shell排序 折半插入排序
歸併排序
基數排序
1.選擇排序
1.1直接選擇排序
1.2堆排序//選擇排序-直接選擇排序 每迴圈一次取出其中最大或者最小的乙個 插入到靠前或者靠後的位置(當然第一次從0開始,第二次從1開始...)
public void directselectsort(int arr)}}
system.out.println("結束"+arrays.tostring(arr));
}
//選擇排序-堆排序2
//選擇排序-堆排序1 把陣列或者其他物件 看成一棵樹 ,
//利用大堆或者小堆,找到最大的,放到最後的位置,比較的時候注意:第一次陣列長度為3,第二次陣列長度為2...
//為什麼變陣列大小?因為我們每次得到的最大,最小值要插入都後面的位置中,就不需要在比較了。
public void heapselectsort(int arr)
} system.out.println("結束"+arrays.tostring(arr));
}
2.2 快速交換排序
//交換排序-快速交換排序1
public void quickexchangesort(int arr)
//交換排序-快速交換排序2
private void quickexchangesort(int arr,int start,int end)
else
int tmp=arr[start];
arr[start]=arr[i-1];
arr[i-1]=tmp;
}}else
} if(start<(j-1))
if(end>j+1)
}
3.插入排序
3.1直接插入排序
//直接插入排序(穩定的) 先從陣列第乙個開始, 乙個數是有序的,然後第二個數與第乙個數比較,如果第二個小,換,如果第二個數大,不換,比較第三個,以此類推
public void directinsertsort(int arr)
arr[j]=tmp;}}
} system.out.println("結束"+arrays.tostring(arr));
}
3.2折半插入排序
//折半插入排序
public void halfinsertsort(int arr)else
}for(int j=i;j>low;j--)
arr[low]=tmp;
}system.out.println("結束"+arrays.tostring(arr));
}
3.3希爾排序
//希爾排序 分段 增量 此演算法為參考
public void shellinsertsort(int array)
array[j*h+i]=n;}}
m++;}}
system.out.println("增量為"+h+":"+arrays.tostring(array));
h = (h - 1) / 3;
}system.out.println("結束"+arrays.tostring(array));
}
4.歸併排序
//歸併排序
public void combinesort(int arr)
private void combinesort(int arr, int i, int length)
} int size=(""+tmp).length();
"size="+size);
this.value(1, 76));
for(int k=0;kthis.value(k, arr[m]))
"**"+arrays.tostring(arr));}}
system.out.println("--"+arrays.tostring(arr));
} system.out.println("結束"+arrays.tostring(arr));
}//基數排序
private int value(int i,int key)
key=key%10;
return key;
}
常見的幾種排序
前言 最近聽公尺老師講了一遍排序,之前上課老師也講過,這次又聽了一遍,對排序有了更進一步的認識。接下來介紹一下最常見的幾種排序,以及自己對排序的理解。插入排序 插入排序包括 直接插入排序與shell排序 1.直接插入排序 概念 通過線性搜尋來確定待插入記錄的位置 演算法 圖中每一行的資料表示插入了第...
幾種常見的排序
1 插入排序 for int i 1 i n i 2 氣泡排序 for int i 0 i n 1 i 3 選擇排序 for int i 0 i n 1 i swap array,i,lowindex 4 快速排序 void swap int a,int i,int j int partition ...
常見的幾種排序
一 氣泡排序 二 直接選擇排序 三 直接插入排序 四 希爾排序 五 快速排序 快速排序三種找基準方式及兩種優化 六 堆排 七 歸併排序 時間複雜性 一般平均是o n 2 最好的情況是o n 最壞的情況是o n 2 空間複雜性 o 1 穩定性 穩定排序。氣泡排序的原理 1 比較相鄰的元素。如果第乙個比...