经典算法学习直接选择排序
程序员文章站
2022-06-09 23:33:21
...
经典算法学习——直接选择排序
直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接插入排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区;而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。示例代码上传至:https://github.com/chenyufeng1991/SelectSort
算法描述如下:
(1)初始时,数组全为无序区为a[0...n-1]。令i = 0。
(2)在无序区a[i...n-1]中选取一个最小的元素,将其与a[i]交换。交换之后a[0...i]就形成了一个有序区。
(3)i++并重复第二步,直到i == n-1,排序完成。
实现如下:
// // main.c // SelectSort // // Created by chenyufeng on 16/2/3. // Copyright © 2016年 chenyufengweb. All rights reserved. // #includevoid selectSort(int *a,int n); void swap(int *a,int *b); int main(int argc, const char * argv[]) { int a[] = {6,1,4,9,0,3}; selectSort(a,6); for (int i = 0; i