一、算法介绍
先从键盘输入要排的数据数量,然后对这些数据实现排序。
二、C++实现
#include <iostream>
#include <vector>
using namespace std;
int n;
void xuanzepaixu(vector<int>& arr)
{
for(int i = 0;i<=n-2;i++)
{
for(int j = i+1;j<=n-1;j++)
{
if(arr[j]<arr[i])
{
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
int main()
{
cout << "你想要对多少个整数进行排序:";
cin >> n;
vector<int> arr(n);
for(int i = 0;i<=n-1;i++)
cin >> arr[i];
xuanzepaixu(arr);
for(int j = 0;j<=n-1;j++)
cout << arr[j] <<endl;
return 0;
}
三、实现结果

三、程序的时间复杂度
1、输入部分是一个for循环,所以有一个O(n)。
for(int i = 0;i <= n - 1;i++)
cin >> arr[i];
2、输出部分也是一个for循环,所以也有一个O(n)。
for(int j = 0;j <= n - 1;j++)
cout << arr[j] <<endl;
3、在选择排序算法里面有两层for循环,所以这个算法的时间复杂度经过演算是O(n^2)。 注意里面的基本语句是if里面的比较。
4、所以最终整个程序的时间复杂度是O(n^2)。