八大排序算法之简单选择排序
来源:互联网 发布:java错误等级 编辑:程序博客网 时间:2024/05/01 12:55
基本排序思想:: 在要排序的一组数中,选出最大(或者最小)的一个数与第一个位置的数字进行交换;然后在剩下的一组数中再找最大(或者最小)的与第二个位置进行交换,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止,排序完成!
具体步骤见代码中注释
#include<stdio.h>//选择一个最大值出来int MaxKey(int a[], int m, int n){ int k; k= m; //k指向这段数组的第一个元素 for(int i= m+1; i<n; ++i){ //i从第二个元素开始遍历到n if(a[i]>a[k]) //如果这个元素比k指向的元素要大 k= i; //那么让k指向这个较大的 } return k;}void SelectSort(int a[], int n){ int key,tmp; for(int i= 0; i<n; i++){ key= MaxKey(a,i,n); //返回最大值的元素序号 if(key!= i) //如果key指向最大元素值不是i的话,交换key和i的位置 a[i]^=a[key]^=a[i]^=a[key];//交换 }}int main(void){ int a[10]; int n= 10; printf("\t请输入10个数字\n"); for(int i= 0; i<10; i++) scanf("%d",&a[i]); SelectSort(a,n); for(int j= 0; j<n; j++) printf("%3d ",a[j]); printf("\n"); return 0;}
1 0
- 八大排序算法之简单选择排序
- 八大排序算法之简单选择排序法
- 八大排序算法-简单选择排序
- 八大排序算法-简单选择排序
- 八大排序算法之选择排序
- 八大排序算法之选择排序
- 八大排序算法之二元选择排序
- 八大排序算法之直接选择排序
- 八大排序算法之选择排序
- 八大排序算法之选择排序
- 八大排序算法之选择排序
- Java八大排序算法之选择排序
- 八大排序算法之选择排序
- 八大排序算法总结之二(简单选择算法,堆排序,归并排序,基数排序)
- 八大排序算法总结之二(简单选择算法,堆排序,归并排序,基数排序)
- 八大排序--简单选择排序
- 八大排序算法之---冒泡和选择
- 八大排序算法 之 冒泡排序VS选择排序
- java面向对象9
- OC基础第四讲:字典
- java应用技术
- GLSL Optimizer
- ajax请求get方式的缓存问题
- 八大排序算法之简单选择排序
- C/C++ 笔试、面试题目大汇总
- 收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发.
- iOS项目上传到AppStore步骤流程
- 黑马程序员——高新技术----反射
- 文章标题
- 4412最小文件系统和编译环境配置
- 移动终端CPU、GPU浅析
- Unity3D的断点调试功能