算法復習-選擇類排序(1)-簡單選擇排序

簡單選擇排序

選擇類排序的主要動作是“選擇”,簡單選擇排序采用最簡單的選擇方式,從頭至尾順序掃描序列,找出最小的一個關(guān)鍵字,和第一個關(guān)鍵字交換,接著從剩下的關(guān)鍵字中繼續(xù)這種選擇和交換,最終使序列有序。

代碼:

#include <iostream>
using namespace std;

void print_array(int array[], int n) {
  for (int i = 0; i < n; ++i)
    cout<<array[i]<<" ";
  cout<<endl;
}

void SelectSort(int array[], int n) {
  int i, j, temp, k, min;
  for (i = 0; i < n; ++i) {
    min = array[i];
    for (j = i; j < n; ++j) {
      if (array[j] < min) {
        min = array[j];
        k = j;
      }
    }

    temp = array[i];
    array[i] = array[k];
    array[k] = temp;
  }
}

int main() {
  int array[] = {49, 38, 65, 97, 76, 13, 27};
  print_array(array, 7);
  SelectSort(array, 7);
  print_array(array, 7);

  return 0;
}

復雜度分析:

1. 時間復雜度
兩層循環(huán),時間復雜度為O(n^2).

2. 空間復雜度
空間復雜度常量級別,為O(1).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容