缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

Posted 浠g爜姘戝伐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭相关的知识,希望对你有一定的参考价值。


閫夋嫨鎺掑簭


馃摉鍩烘湰鎬濇兂|婕旂ず|绠楁硶浠g爜|鎬ц兘


o

閫夋嫨鎺掑簭锛圫elect Sort锛夛紝灏辨槸鍦ㄤ唬鎺掔殑涓€缁勬暟鎹腑閫氳繃渚濇姣旇緝閫夊嚭鏈€灏忕殑鍏冪礌涓庤缁勬暟鎹殑棣栧厓绱犺繘琛屼綅缃氦鎹紝鐒跺悗缂╁皬姣旇緝闀垮害锛屽湪浣欎笅鐨勬暟鎹腑鎸夌収涓婅堪鏂规硶杩涜鎺掑簭鎿嶄綔锛屼笉鏂繘琛屾鎿嶄綔锛岀洿鍒版墍鏈夌殑鏁版嵁鏈夊簭涓烘銆?/p>

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭


浠ユ暟鎹?銆?銆?銆?銆?銆?銆?銆?涓轰緥

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

鍦ㄨ缁勬暟鎹腑閫氳繃姣旇緝閫夊嚭鏈€灏忕殑鍏冪礌锛坖=min锛夛紝浣垮叾涓庨鍏冪礌杩涜浣嶇疆浜ゆ崲锛岀劧鍚庣缉灏忔瘮杈冮暱搴︼紝閲嶅涓婅堪鎿嶄綔

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

锛堟帓搴忓畬锛?br>

缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

馃搼C++浠g爜

 1#include<iostream>
2using namespace std;
3void SelectSort(int a[], int n)
4
{
5    int i, j, min;
6    for (i = 0; i < n - 1; i++) 
7    {
8        min = i;
9        for (j = i + 1; j < n; j++)
10        {
11            if (a[j] < a[min])min = j;
12        }
13        if(i!=min)swap(a[min], a[i]);
14    }
15}
16int main()
17
{
18    int a[10] = { 8,5,2,4,1,7,6,3 };
19    SelectSort(a, 8);
20    for (int i = 0; i < 8; i++)
21        cout << a[i] << " ";
22
23    return 0;
24

馃搼Python浠g爜

 1def SelectSort(nums):
2    i=0
3    while i<len(nums)-1:
4        min=i
5        j=i+1
6        while j<len(nums):
7            if nums[j]<nums[min]:min=j
8            j+=1
9        if i!=min:nums[min],nums[i]=nums[i],nums[min]
10        i+=1
11a=[8,5,2,4,1,7,6,3]
12SelectSort(a)
13print(a)

馃搼Java浠g爜

 1package text;
2
3public class SelectSort {
4
5    public static void main(String[] args{
6        int[]a={8,5,2,4,1,7,6,3};
7        Sort(a);
8        ShowArr(a);
9    }
10    public static void Sort(int[]a){
11        for(int i=0;i<a.length-1;i++){
12            int min=i;
13            for(int j=i+1;j<a.length;j++){
14                if(a[j]<a[min])min=j;
15            }
16            if(i!=min)Swap(a,i,min);
17        }
18    }
19    public static void Swap(int[]a,int i,int j){
20        int temp=a[i];a[i]=a[j];a[j]=temp;
21    }
22    public static void ShowArr(int[]a){
23        for(int x:a){
24            System.out.print(x+" ");
25        }
26        System.out.println();
27    }
28
29}
缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭

閫夋嫨鎺掑簭鏄?span class="mq-279">涓嶇ǔ瀹?/strong>鐨勬帓搴忕畻娉曪紝骞冲潎鏃堕棿澶嶆潅搴︿负O(n2)锛?/strong>杈呭姪绌洪棿涓?span class="mq-282">O(1)



以上是关于缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭的主要内容,如果未能解决你的问题,请参考以下文章

娴呮瀽涓冪缁忓吀鎺掑簭绠楁硶

鎺掑簭绠楁硶绯诲垪3-鎻掑叆鎺掑簭

鎺掑簭绠楁硶鐣 - 鍐掓场鎺掑簭

鎺掑簭绠楁硶绯诲垪1-鍐掓场鎺掑簭

鎺掑簭绠楁硶

鎻掑叆鎺掑簭浠g爜鍒嗘瀽