选择排序法(C语言)

2019-12-08 18:57发布

基本思路

在每一次的排序中选出最小(或最大)的数,将其放在数组最前端,然后在后面的数中重复此步骤,最终达到排序的目的.

算法描述

将存于数组首位数与后面的数依次比较,将其中的较小的数放到数组放到数组首位
将除存于第二位的数视作首位,重复第一步的操作
以此类推

代码实现

这里以从小到大排序为例

# include void swap(int *p, int *q) {     
int temp;     
temp = *p;    
 *p = *q;     
*q = temp; 
} 

int main() {    
int i, j, n, t;     
int a[100];     
scanf("%d", &n);//输入要排序的数组元素个数     
getchar();     
for(i=0;i

算法分析

选择排序是不稳定的,如:5 8 5 2这个数列,当第一个"5"与"2"和交换后,第一个"5"就到了第二个"5"后面