排序的选择算法
2006-06-28 17:12
323 查看
相信大家在上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]);
}
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]);
}
相关文章推荐
- 冒泡排序、选择排序、堆排序、快速排序、插入排序算法复杂度分析与算法实现(自己总结与转)
- 算法 - 排序 - 选择排序
- Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)
- java基本算法总结(冒泡排序、选择排序、插入排序)
- 经典算法学习——直接选择排序
- 8大内部排序算法学习笔记--(3)选择排序java实现
- 算法--选择排序
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- 第十五周项目1 验证算法(5)选择排序之堆排序
- 【数据结构与算法】选择排序
- [1] 算法之路 - 选择排序
- 算法实现之简单选择排序、二元选择排序和堆排序
- 两种常用的选择排序算法--简单选择排序、堆排序
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- 算法:简单选择排序
- java冒泡排序 选择排序 算法
- 算法笔记--直接选择排序
- 【算法】 简单选择排序
- 常用算法之:选择排序(C语言版)
- 算法不会,尚能饭否之排序——直接选择排序