直接选择排序----java实现
来源:互联网 发布:activex控件编程 编辑:程序博客网 时间:2024/05/02 04:53
直接选择排序思路: 从待排序数据中选择第一个假定为最小的下标,然后他后面的与他循环比较,得到真的最小值下标,然后最小值前的那一区段依次后移,并把最小值赋值给第一个元素。第二次时,假定第二个为最小,然后他后面的与他循环比较(这样就不会比较到已最小的第一个)。。。。。
package com.sheepmu.text;import java.util.Arrays;import java.util.Comparator; /* * @author sheepmu */ public class Sort { public static void main(String[] args){ int[] arr={64,5,7,89,6,24}; selectSort(arr);// System.out.println(Arrays.toString(arr)); } public static void selectSort(int[] arr){ int len=arr.length; int small=0;//一次比较中最小的下标。 int temp=0; for(int i=0;i<len-1;i++){ small=i; System.out.println("small--设--->"+small); for(int j=i+1;j<len;j++) //把假定最小下标后的下标的值与该值循环比较,找出最小下标 if(arr[j]<arr[small]) small=j; System.out.println("small---真-->"+small); if(i!=small){// temp=arr[i];//直接交换可能会导致相同的数据元素位置发生变化,引起排序不稳定。// arr[i]=arr[small];// arr[small]=temp; temp=arr[small];//!!因为下面移动了,所以若果不先把这个值取出来下面那个arr[small](先temp取代)就不是找出来的那个咯。 for(int k=small;k>i;k--)//把该区段未排序元素顺序后移 arr[k]=arr[k-1]; arr[i]=temp; } System.out.println(Arrays.toString(arr)); } }}
0 0
- 选择排序----直接选择排序----java实现
- 直接选择排序----java实现
- java实现直接选择排序
- 直接选择排序---JAVA实现
- 直接选择排序java实现
- java实现直接选择排序
- 直接排序、选择排序(Java实现)
- 直接选择排序(java实现)
- Java代码 实现直接选择排序
- 选择排序之直接选择排序Java实现
- 冒泡排序、选择排序、直接插入排序(java实现)
- java实现直接出入、希尔、直接选择、快速排序
- Java 直接选择排序
- 直接选择排序 Java
- Java直接选择排序
- Java 直接选择排序
- Java直接选择排序
- java直接选择排序
- JDK源码阅读之String
- js中apply使用方法小议
- shell脚本中echo显示内容带颜色
- BeanUtils.copyProperties()的用法
- shell里%%的意思?
- 直接选择排序----java实现
- 堆表和索引组织表区别
- Java 数组的静态初始化和动态初始化
- 超高速缓存的最佳实践
- Lua脚本语言入门(一)
- [Android] ImageView.ScaleType设置图解
- Objective c 分数之间的加减乘除 约分,最大公约数
- https原理:证书传递、验证和数据加密、解密过程解析
- 连接被拒绝 因为没有授权此用户账户进行远程登录