缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭
Posted 浠g爜姘戝伐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭相关的知识,希望对你有一定的参考价值。
閫夋嫨鎺掑簭
馃摉鍩烘湰鎬濇兂|婕旂ず|绠楁硶浠g爜|鎬ц兘
閫夋嫨鎺掑簭锛圫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)
以上是关于缁忓吀鎺掑簭绠楁硶鈥斺€旈€夋嫨鎺掑簭的主要内容,如果未能解决你的问题,请参考以下文章