java中的三种排序方法使用:选择排序,冒泡排序,sort方法排序。
2013-07-14 10:24
627 查看
1)选择排序
思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,放在数列的最前(或最后),直到待排序的数据元素全部排完。
2)冒泡排序
思想:对比相邻元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移到数组后面(也可以反过来)。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
3)sort方法排序
思想:直接调用Arrays类中的sort方法对数组进行排序。
三种方法实例练习:
思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,放在数列的最前(或最后),直到待排序的数据元素全部排完。
2)冒泡排序
思想:对比相邻元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移到数组后面(也可以反过来)。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
3)sort方法排序
思想:直接调用Arrays类中的sort方法对数组进行排序。
三种方法实例练习:
import java.util.Arrays; import java.util.Random; public class Sort { //选择排序法 public static void SelectSort(int a[]) { for(int x=0;x<a.length-1;x++) //由第一个数开始比较,最后一个直接是最大的,不用比较。 { for(int y=x+1;y<a.length;y++) //把最小的放在a[x]中。 { if(a[x]>a[y]) { //将两个数互换位置。 int temp=a[x]; a[x]=a[y]; a[y]=temp; } } } } //冒泡排序法 public static void BubbleSort(int[] a) { for(int x=0;x<a.length-1;x++) //控制排序轮数,为数组长度-1。 { for(int y=0;y<a.length-1-x;y++) //两两比较,把较大的放在a[y+1]中。 { if(a[y]>a[y+1]) { int temp=a[y]; a[y]=a[y+1]; a[y+1]=temp; } } } } //使用sort方法进行排序 public static void SortMethod(int a[]) { Arrays.sort(a); } //定义一个生成随机数组的方法 public static int[] array(int[] arr) { Random random=new Random(); //生成10个200以内的随机数放入数组中 for(int i=0;i<arr.length;i++) { arr[i]=random.nextInt(200); } return arr; } //定义一个打印数组的方法 public static void print(int a[]) { for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } } public static void main(String args[]) { int[] a = new int[10]; //定义个数为10个 System.out.println("使用选择法排序:"); a=array(a); //生成一组随机数组 print(a); //打印出随机数组 System.out.println(); //换行 SelectSort(a); //使用选择排序法进行排序 print(a); //打印出排序后的数组 System.out.println(); System.out.println("使用冒泡法排序:"); a=array(a); //生成新的随机数组用冒泡法排序 print(a); System.out.println(); BubbleSort(a); print(a); System.out.println(); System.out.println("使用sort方法排序:"); a=array(a); //生成新的随机数组用sort方法排序 print(a); System.out.println(); SortMethod(a); print(a); } }另外一个问题是关于性能优化的,可以在比较时先不调换数组中的数据,记下最大或最小的角标,最后直接通过角标调换数据。
相关文章推荐
- java三种排序(冒泡,选择,方法sort)
- Java 选择排序、冒泡排序、快速排序、直接插入排序、Java自带的排序等方法的使用和总结
- 排序方法整理Java - 冒泡排序、选择排序、插入排序、快速排序
- java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
- Java 实现三种简单排序——选择排序、插入排序、冒泡排序
- Collections.sort方法排序,以及java8前后版本的使用
- 使用shell排序,插入排序,选择排序,冒泡排序,以及java的Arrays中自带的排序进行对比
- java集合排序方法sort的使用
- Java集合对象的排序使用Collection.sort方法,先实现Comparable接口
- Java排序方法sort的使用详解
- Java排序方法sort的使用详解
- Java中的排序方法(冒泡排序 和 选择排序)
- 三种简单排序用java实现(选择排序,冒泡排序,插入排序)
- Java排序方法sort的使用详解
- (13)数组操作:遍历、输出最大值、冒泡排序、选择排序,java已有的排序方法、折半查找
- java基础——collections.sort()排序方法使用方法
- 使用C语言和Java分别实现冒泡排序和选择排序
- Java中使用Collections.sort()方法对数字和字符串泛型的LIst进行排序
- Java选择排序、冒泡排序、直接插入排序与二分查找
- 选择排序和冒泡排序(JAVA)