选择排序
2016-09-20 20:04
127 查看
选择排序的思想也是将待排序数据分成两部分,未排序部分和已排序部分。
方法是,每次在未排序序列中找最小,将其放到排序序列尾部。
时间复杂度是n^2,不稳定。
void select_sort(vector<int> input, int n)
{
for (int i = 0; i < n; i++)
{
int k = i;
for (int j = i + 1; j < n; j++)
{
if (input[j] < input[k])
k = j;
}
if (k != i)
swap(input[i],input[k]);
}
}
方法是,每次在未排序序列中找最小,将其放到排序序列尾部。
时间复杂度是n^2,不稳定。
void select_sort(vector<int> input, int n)
{
for (int i = 0; i < n; i++)
{
int k = i;
for (int j = i + 1; j < n; j++)
{
if (input[j] < input[k])
k = j;
}
if (k != i)
swap(input[i],input[k]);
}
}
相关文章推荐
- 智渔课堂官方免费教程二十八:Java排序算法之选择排序和冒泡排序
- java选择排序方法
- 经典排序之选择排序、插入排序、冒泡排序、希尔排序
- 【Swift-Objc】选择排序
- 【冒泡+选择】排序及三种排序速度比较
- 排序方法之冒泡(鸡尾酒)、选择、插入(二分插入)、希尔排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 排序:选择排序(selection sort)
- 【数据结构和算法】排序算法之二:选择排序和堆排序
- 八大排序算法的python实现(八)简单选择排序
- 选择排序
- 分享一个多线程实现[冒泡][选择][二分法]排序的例子
- 排序算法总结(八)选择排序
- 算法002-选择排序
- 插入排序、冒泡排序、选择排序、Shell排序、快速排序、归并排序、堆排序
- Java算法:选择排序
- 不稳定排序之选择、快速、希尔以及堆排序
- 排序(1)---------选择排序(C语言实现)
- java冒泡排序和选择排序
- Java 选择排序 (Selection Sort)