c语言描述的简单选择排序
2016-07-27 11:26
239 查看
基本思想:首先,选出最小的数,放在第一个位置;然后,选出第二小的数,放在第二个位置;以此类推,直到所有的数从小到大排序
#include<stdio.h> #include<stdlib.h> void SelectSort(int a[],int len){ int i,j,temp; int k; for(i=0;i<len;i++){ temp=i; for(j=i+1;j<len;j++){//这个循环用来找出第i到len个数中最小的值 if(a[j]<a[temp]){ temp=j; } } if(temp!=i){//将这个最小值放到i位置上他同时也是第i小 k=a[i]; a[i]=a[temp]; a[temp]=k; } } } void main(){ int i; int a[5]={2,4,5,7,1}; SelectSort(a,5); for(i=0;i<5;i++){ printf("%d ",a[i]); } }
相关文章推荐
- 大整数相乘
- error LNK2019 无法解析的外部符号
- C++数据对齐#pragma和__declspec(align(n))
- Binary Tree Zigzag Level Order Traversal
- UVA 11234-Expressions
- C语言二维数组作为函数的参数
- 解析局部对象与临时对象
- Binary Tree Level Order Traversal
- poj 2112 最大流+二分法
- Cpp环境【NOIP2011普及组】【Vijos1787】 瑞士轮
- c语言描述的二分插入排序法
- 堆上数组&栈上数组
- LZMA SDK 9.20(与C相关)
- c++中,保证头文件只被编译一次,避免多重包含的方法
- C++之基于排序方法求一组数的中位数
- MFC点击按钮,弹出进度条并且自动滚动以及进度条对话框背景色、按钮颜色设置
- Qt\c++:指针虽好用,使用有风险
- VC++链接错误LNK2001总结
- c语言描述的快速排序法
- C语言中continue和break、return的区别与联系