7.2.3 简单选择排序
C++ Codes:
template<class T>
void SimpleSelectSort(T vec[],int length)
{
for(int i=0;i<length;++i)
{
int mark=i;
for(int j=i;j<length;++j)
{
if(vec[j]<vec[mark])
mark=j;
}
T val=vec[mark];
vec[mark]=vec[i];
vec[i]=val;
}
}
Python Codes:
def SimpleSelectSort(arr):
for i in range(0,len(arr)):
j=i
for k in range(i,len(arr)):
if(arr[j]>arr[k]):
j=k
val=arr[j]
arr[j]=arr[i]
arr[i]=val
简单选择排序算法的时间复杂度为O(n的平方)
简单选择排序算法只需要一个辅助空间用于交换记录,所以简单选择排序算法是一种稳定的排序方法。