算法 —— 选择排序

    原理: 选择排序和直接插入排序有些类似。都是有一个有序序列和无序序列。
               区别在于: 选择排序是将无序区的最小值放到有序区的最后,插入排序则是将无序区的第一个值插入到有序区间当中。
 
1、假设整个数组的大小为n,从a[0 ~ i - 1]为有序区间,a[i ~ n-1 ]为无序区间
2、比较a[i ~ n-1]的所有元素,找出最小的元素,将其与a[i]交换,这样在a[0 ~ i]之间就形成了有序区间。
3、i++,重复第二步,直到 i = n - 1

代码:
               int i,j;
   
int m = n;
   
for (i = 0 ; i < n - 1 ; i ++) {
        m = i;
       
for (j = i + 1 ; j < n  ; j ++) {
           
if (a[m] > a[j]) {
                m = j;
            }
        }
       
       
if (m != i ) {
           
int temp = a[m];
            a[m] = a[i];
            a[i] = temp;
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值