C++選擇排序算法實例。本站提示廣大學習愛好者:(C++選擇排序算法實例)文章只能為提供參考,不一定能成為您想要的結果。以下是C++選擇排序算法實例正文
選擇排序
選擇排序是一種簡略直不雅的排序算法,它的任務道理以下。起首在未排序序列中找到最小(年夜)元素,寄存到排序序列的肇端地位,然後,再從殘剩未排序元素中持續尋覓最小(年夜)元素,然後放到已排序序列的末尾。以此類推,直到一切元素均排序終了。
選擇排序的重要長處與數據挪動有關。假如某個元素位於准確的終究地位上,則它不會被挪動。選擇排序每次交流一對元素,它們傍邊至多有一個將被移到其終究地位上,是以對n個元素的表停止排序總共停止至少n-1次交流。在一切的完整依附交流去挪動元素的排序辦法中,選擇排序屬於異常好的一種。選擇排序的時光龐雜度也為O(n^2)。
代碼完成
#include <iostream>
using namespace std;
void SelectSort(int arr[], int length)
{
int temp, min;
for (int i = 0; i < length - 1; ++i)
{
min = i;
// 尋覓最小值
for (int j = i + 1; j < length; ++j)
{
if (arr[j] < arr[min])
min = j;
}
// 交流
if (min != i)
{
temp = arr[i];
arr[i] = arr[min];
arr[min] =temp;
}
}
}
int main()
{
int arr[10] = {2, 4, 1, 0, 8, 4, 8, 9, 20, 7};
SelectSort(arr, sizeof(arr) / sizeof(arr[0]));
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)
{
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}