C 排序演算法(二) 選擇排序

2021-05-23 20:43:45 字數 967 閱讀 8480

昨日坐火車碰見一學通訊的女生,天之驕子信心滿滿,可是想棄理從文。看來不僅僅婚姻是圍城,我們每個人都深處圍城之中。不過本博主一直都要朝圍城裡擠,眼看曙光即要出現……

好了,話說上回冒泡完之後,現在要選擇排序又來了:

程式如下:

using system;

namespace mysort

//遍歷完一遍後,那麼min裡儲存的必然是最小數的索引

//倘若沒有值比min裡存的數還小的話,不做任何變化

}//現在開始做數值交換了

//先把那個最小的數放在乙個臨時儲存空間temp裡

temp = list[min];

//然後把上乙個以為是最小其實不是最小的數放在那個最小數的位置上

list[min] = list[i];

//最後把最小數放在剛才那個較大數的座位上

list[i] = temp;

//為什麼要如此變化?

//因為排序是從陣列的第乙個數開始

//然後1,2,3……,每向後一位總是儲存剩下數的最小數}}

public class test

;//對於不想例項化得人來說可以把類定義為靜態類

//但是根據有關物件導向的規則來講,還是少一些靜態模擬較好

sumsort mysort = new sumsort();

mysort.selectionsort(arr);

for (int i = 0; i < arr.length; i++)

位是:/n", i + 1, arr[i]);

}console.writeline();

ps:選擇排序跟冒泡一樣,都是效率比較低的排序法,一般都適用於10個以下的數。看程式好似氣泡排序的的變體,冒泡是兩兩做比較,選擇排序是預先開闢一塊記憶體儲存乙個值,然後後來的跟預存的比。冒泡好像是三個杯子盛水(前乙個數、後乙個數、乙個置換數),選擇排序就像四個杯子盛水(前乙個數、後乙個數、乙個置換數、乙個預存的最小數)。

排序演算法 二 選擇排序

之前給大家分享了排序演算法裡面比較簡單的氣泡排序,今天來分享一下選擇排序的演算法 選擇排序的思想 1.以公升序為例 在一組數中選出最大的數放到第乙個位置,或者選出最小的數放到最後乙個位置,2.在選取剩餘元素的最大數放到第二個位置,或選出剩餘元素中的最小值放到倒數第二哥位置,3.依次往下選取,直到遍歷...

排序演算法 二 選擇排序

演算法實現 selectsort.c include void selectsort int arr,int len if min i for k 0 k演算法思想 保證將要成為有序範圍內的那個位置的值是無序裡的最小值。ex 從陣列選出最小的放在第乙個位置上,在從剩餘陣列選出最小放在第二個位置上,以...

排序演算法(二) 選擇排序

選擇排序是一種簡單的直觀的排序演算法,基本原理如下 對於給定的一組記錄,經過一輪比較後得到最小的記錄,然後將該記錄的位置與第乙個記錄的位置交換 接著對不包括第乙個記錄以外的其他記錄進行第二次比較,得到最小記錄並與第二個位置記錄交換,重複該過程,直到進行比較的記錄只剩下乙個為止 從簡單排序的過程來看,...