七大排序算法系列之简单选择排序

来源:互联网 发布:淘宝评价语20字 编辑:程序博客网 时间:2024/06/01 17:02

简单选择排序算法介绍

简单选择排序将数据分为有序区和无序区,选择排序将从无序区选一个最小的元素直接放到有序区的最后。

1.初始时,数组全为无序区为a[0..n-1],共进行n-1趟。

2.在无序区a[i…n-1]中选取一个最小的元素,例如第一趟,选择a[1]...a[n-1]之间最小的数和a[0]比较,如果小,则交换。第i趟共交换n-i次。交换之后a[0…i]就形成了一个有序区。

3.如果i<n-1,重复上一步,否则排序完成。

实现代码:

void choice_sort(int *array,int n){for(int i=0;i<n-1;i++){//n-1趟排序int k=i;for(int j=i+1;j<size;j++){//第i趟排序,比较n-i次if(array[j]<array[k]){k=j;}}if(k!=i){int temp =array[k];array[k]=array[i];array[i] = temp;}}}
原创粉丝点击