java数组排序

来源:互联网 发布:淘宝打折第二件原价 编辑:程序博客网 时间:2024/06/06 10:44

题目要求:
给定一个整数一维数组,将它按照从小到大的顺序排列。

解题方式:
(1)使用冒泡排序来解决此问题。
(2)使用插入法来解决此题。

思路(1)—冒泡排序:
1.将数组array中的array[i]与array[i+1]进行比较,判断出数值大小。
2.当array[i+1]小于array[i]时,通过第三个临时变量num来交换在数组中的原位置。当array[i+1]大于array[i]时,保持数组顺序不变。
3.输出结果。

实际操作:

public class ChartReplace06 {    public static void main(String[] args) {        int[] array={11,5,8,9,20,6,14};        System.out.print("未排序的数组");        for (int i = 0; i < array.length; i++) {            System.out.print(array[i]+" ");        }        int n=array.length;        for (int i = 0; i < n; i++) {                   for (int j = 0; j < n-1; j++) {                if (array[j]>array[j+1]) {    //比较数组前后两个值的大小                    int Num=array[j];         //通过第三个变量num交换数字的位置                    array[j]=array[j+1];                    array[j+1]=Num;                }            }            n--;                              //每次循环后,数组都会产生一个最值,在下一次循环时,忽略掉最值。        }        System.out.print("排序后的数组");        for (int i = 0; i < array.length; i++) {            System.out.print(array[i]+" ");        }    }}

实际运行结果:这里写图片描述

思路(2)—插入排序:
1.默认数字array[0]的值已经排序完成了,从i=1开始进行排序。
2.将数组array中的i与i-1进行比较,当i>i-1时,大小顺序正确,跳过。当i-1>i时,通过第三个新建变量交换数字的位置。
3.数组遍历完成,输出结果。

实际操作:

import java.lang.reflect.Array;import java.lang.reflect.Method;public class ChartReplace09 {    public static void main(String[] args) {        System.out.print("未排序数组");        int[] OldArray={2,5,4,66,7,9,54,1};        for (int i = 0; i < OldArray.length; i++) {            System.out.print(OldArray[i]+",");        }        System.out.print("排序后数组");        int[] NewArray=Method(OldArray);        for (int i = 0; i < NewArray.length; i++) {            System.out.print(NewArray[i]+",");        }    }    private static int[] Method(int[] oldArray) {     //创建函数method,进行后续操作。        for (int i =1 ; i < oldArray.length; i++) {   //默认数组中i=0时已经排序完成。            for (int j = i; j>0; j--) {                if (oldArray[j]<oldArray[j-1]) {      //比较数字的大小,并通过变量num交换数字位置。                    int num=oldArray[j];                    oldArray[j]=oldArray[j-1];                    oldArray[j-1]=num;                }else {                    break;                }            }        }        return oldArray;          ``                   //返回。    }}
0 0
原创粉丝点击