相信大家在上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]);
}