十大經典排序演算法系列博客——>傳送門
選擇排序是一種簡單直觀的排序演算法,首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續尋找最小元素,然后放到已排序序列的末尾,以此類推,直到所有元素均排序完畢,
演算法步驟:
-
初始狀態:無序序列為R[0,n?1],長度n,有序區為空;
-
第i=1,…,n?1趟排序從當前無序區R[i?1,n?1]中選出最小的元素R[k],并將它與無序區的第1個記錄R[i?1]交換,則R[0,i?1]變為元素個數增加1的新有序區,R[i,n?1]變為元素個數減少1的新無序區;
-
n?1趟選擇交換后結束,
代碼展示
#include<iostream>
using namespace std;
void SelectSort(int a[],int n)//選擇排序
{
for(int i=0; i<n-1; i++)
{
int index=i;
for(int j=i+1; j<n; j++)
{
if(a[j]<a[index])//尋找無序區內的最小值
index=j;
}
if(index!=i) //把找到的最小值放到無序區的最前面
{
int tmp=a[index];
a[index]=a[i];
a[i]=tmp;
}
}
}
int main()
{
int a[5]={
7,3,1,5,70
};
SelectSort(a,5);
return 0;
}
日拱一卒,功不唐捐,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/181880.html
標籤:AI
上一篇:自助建站做站都有哪些步驟。
下一篇:用FFmpeg制作WebP動圖
