排序演算法__選擇排序
排序演算法__選擇排序
一、介紹
選擇排序(Selection sort)是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法。
二、C++實現
#include<iostream>
#include<algorithm>
using namespace std;
void selectSort(int a[],int n)
{
for(int i=0;i<n;i++)
{
int k=i;
//找出[i,n)中最小的數
for(int j=i+1;j<n;j++)
if(a[k]>a[j])
k=j;
if(k!=i) swap(a[i],a[k]);//此次最大值為a[k],將a[k]換在a[i]的位置上
}
}
int main()
{
int a[10]={1,34,2,67,4,6,90,223,12,456};
printf("排序前:");
for(int i=0;i<10;i++)
printf("%d ",a[i]);
selectSort(a,10);
printf("\n排序後:");
for(int i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
三、時間複雜度
相關文章
- 排序演算法:選擇排序排序演算法
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- PHP 排序演算法之選擇排序PHP排序演算法
- Python排序演算法之 選擇排序Python排序演算法
- 排序演算法入門:選擇排序排序演算法
- 排序演算法之「選擇排序(SelectionSort) 」排序演算法
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- 排序演算法入門之「選擇排序」排序演算法
- 演算法基礎:排序演算法:選擇排序演算法排序
- 深入淺出的排序演算法-選擇排序排序演算法
- 常用演算法-選擇排序演算法排序
- java選擇排序演算法Java排序演算法
- 畫江湖之演算法篇【排序演算法】選擇排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 選擇排序演算法排序
- go slice/map型別 排序(選擇排序演算法)Go型別排序演算法
- 演算法學習之選擇排序和堆排序:演算法排序
- 選擇排序和快速排序排序
- 選擇排序排序
- 資料結構與演算法——排序演算法-選擇排序資料結構演算法排序
- 【一起學習排序演算法】3 選擇排序排序演算法
- 選擇排序和氣泡排序排序
- 氣泡排序與選擇排序排序
- 桶排序 選擇,插入排序排序
- 演算法小專欄:選擇排序演算法排序
- 從演算法開始[選擇排序]演算法排序
- 選擇排序-演算法及優化排序演算法優化
- selection_Sort(選擇排序演算法)排序演算法
- js選擇排序JS排序
- 01選擇排序排序
- 選擇排序法排序
- Java 選擇排序Java排序
- 排序——選擇排序小練習(二)排序
- 排序——選擇排序小練習(一)排序
- 經典排序之選擇排序(Java)排序Java
- 【小小前端】前端排序演算法第一期(氣泡排序、選擇排序、插入排序)前端排序演算法
- 前端面試題:演算法-選擇排序前端面試題演算法排序
- php實現 氣泡排序,插入排序,選擇排序PHP排序
- 圖解選擇排序與插入排序圖解排序