深入淺出的排序演算法-選擇排序

程式設計師哆啦A夢發表於2020-11-09

前言

大家好,今天給大家帶來選擇排序演算法,希望你們喜歡

選擇排序

選擇排序比氣泡排序快一些,現在講的選擇排序比氣泡排序快一些,也是常用的排序演算法。

選擇排序是第一個人和後續排序的人進行比較,若第一個人大於第二個人,就進行交換,那麼這時第一人就是最小的,然後這時的第一個人和第三個人進行比較,若這時的第一個人大於第三個人,就進行交換位置,這時第一個人又換人了,也變得更小了,就這樣,把剩下的人以這種方法進行比較,直到最後,第一輪結束,在第一位的就是最小的值。

這種就是排序演算法,比如有6個人,第一輪要進行5次比較,不是。

  • 程式碼示例 ``` //第一輪
    for(int index=1;index {
    if(arr[0]>arr[index])
    {
    int temp = arr[0];
    arr[0] = arr[index];
    arr[index] = temp;
    }
    }
    print(arr);

//第二輪
for(int index=2;index {
if(arr[1]>arr[index])
{
int temp = arr[1];
arr[1] = arr[index];
arr[index] = temp;
}
}
print(arr);

//第三輪
for(int index=3;index {
if(arr[2]>arr[index])
{
int temp = arr[2];
arr[2] = arr[index];
arr[index] = temp;
}
}
print(arr);

//第四輪
for(int index=4;index {
if(arr[3]>arr[index])
{
int temp = arr[3];
arr[3] = arr[index];
arr[index] = temp;
}
}
print(arr);

//第五輪
for(int index=5;index {
if(arr[4]>arr[index])
{
int temp = arr[4];
arr[3] = arr[index];
arr[index] = temp;
}
}
print(arr);

//第六輪沒有,我們arr.length=6舉例
//int index = 6;index - 優化 public static void selectionSort(int[] arr)
{
for(int count=1;count {
for(int index=count;index {
if(arr[count-1]>arr[index])
{
int temp = arr[count-1];
arr[count-1] = arr[index];
arr[index] = temp;
}
}
}
```

總結

  • 本文講了選擇排序,如果您還有更好地理解,歡迎溝通

相關文章