算法稳定性:不稳定
复杂度分析:
- 空间复杂度:O(1)
- 时间复杂度:O(n^2)
实现代码:
#include<iostream>
using namespace std;
//简单选择排序
void SelectSort(int *nums,int n){
for(int i=0;i<n-1;i++){
int minn=i;
for(int j=i+1;j<n;j++){ //每次找到i下标之后最小的元素的下标,然后交换下标为i处的元素和i之后最小元素的值
if(nums[j]<nums[minn])
minn=j;
}
swap(nums[i],nums[minn]);
}
}
int main(){
int n;
cin>>n;
int nums[n];
for(int i=0;i<n;i++)
cin>>nums[i];
SelectSort(nums,n); //简单选择排序
cout<<"排序之后的序列为:";
for(int i=0;i<n;i++)
cout<<nums[i]<<" ";
return 0;
}