排序的选择算法

相信大家在上C语言课的时候,老师都这么讲过一个问题,给出a = 10,b =20;判断一下谁大谁下,然后打印出a = 那个大值,b= 那个小值,呵呵,然后就说了个第三只碗的问题是不是?呃。。。。没有说过吗?哈哈,不管了,反正我听过就是了。现在说的这个选择算法其实也是个第三只碗的问题吧,只是数据比较复杂了点而已。乍一看,有点头大,别着急,仔细看下来,记得那个第三只碗就ok了。编写一个程序,用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行从大到小的排序。代码如下,看看 吧!

public static void main(String[] args)
 {//选择法排序
  int array[]={20,10,50,40,30,70,60,80,90,100};
  int i,j,k,t;
  int l = array.length;
  for(i = 0; i < l - 1; i++)
  {
   k = i;
   for(j = i + 1; j < l; j++)
    if(array[j] < array[k]) k = j;
    t = array[k];
    array[k] = array[i];
    array[i] = t;
  }
  for(i = 0; i < l; i++)
   System.out.println("array["+i+"] = " + array[i]);
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值