Java题,有数组 int[] arr={5.2.3.4.9.8.7.1} 请编写一段程序为该数组进行排序,

Java题,有数组 int[] arr={5.2.3.4.9.8.7.1}
请编写一段程序为该数组进行排序,要求结果为升序

public static void main(String[] args) throws Exception {
 int[] arr={5,2,3,4,9,8,7,1};
 insertSort(arr);
}

/**
 * @param array插入排序算法待排数组
 */
static void insertSort(int ...array){
int i,j,temp;
for(i=1;i<array.length;i++){
if(array[i]<array[i-1]){
temp=array[i];
for(j=i-1;j!=-1&&array[j]>temp;j--){
 array[j+1]=array[j];
}
array[j+1]=temp;
}
}

for(int item:array) out.print(item+" ");
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-03-21
你的数组写的有问题,int[] arr={5,2,3,4,9,8,7,1},分隔符是逗号
public static void main(String[] args){
int[] a={5,4,2,4,9,1};
Arrays.sort(a); //进行排序
for(int i: a){
System.out.print(i);
}
//2冒泡排序法
public static int[] bubbleSort(int[] args){//冒泡排序算法
for(int i=0;i<args.length-1;i++){
for(int j=i+1;j<args.length;j++){
if (args[i]>args[j]){
int temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
return args;
}
//3选择排序法
public static int[] selectSort(int[] args){//选择排序算法
for (int i=0;i<args.length-1 ;i++ ){
int min=i;
for (int j=i+1;j<args.length ;j++ ){
if (args[min]>args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
//4插入排序法
public static int[] insertSort(int[] args){//插入排序算法
for(int i=1;i<args.length;i++){
for(int j=i;j>0;j--){
if (args[j]<args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
第2个回答  2017-03-21
public class Test {
public static void main(String[] args) {
int [] arr = {12,33,30,71,9,4,44};
mySort(arr,0,arr.length-1,"asc");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
/**
* 对一维数组排序的方法
* @param arrs要排序的数组
* @param low 从数组的第一位开始
* @param high从数组的最后位结束
* @param type排序的方式 升序/降序
*/
public static void mySort(int [] arrs,int low,int high,String type){
int lo=low;
int hi=high;
if (lo>=hi) {
return;
}else{
boolean flag=false;
while (lo<hi) {
if ("asc".equals(type)?arrs[lo]>arrs[hi]:arrs[lo]<arrs[hi]) {
int temp=arrs[lo];
arrs[lo]=arrs[hi];
arrs[hi]=temp;
flag=!flag;
}else{
if (flag) {
lo++;
}else{
hi--;
}
}
}
lo--;
hi++;
mySort(arrs,low,lo,type);
mySort(arrs,hi,high,type);

}
}
}
这是效率快的排序方法(二分法) 对应的参数说明你看看 希望能帮到你!

Java题,有数组 int[] arr={5.2.3.4.9.8.7.1} 请编写一段程序为该数组...
public static void main(String[] args) throws Exception { int[] arr={5,2,3,4,9,8,7,1}; insertSort(arr);}\/** * @param array插入排序算法待排数组 *\/static void insertSort(int ...array){int i,j,temp;for(i=1;i<array.length;i++){if(array[i]<array[i-1]){temp=...

java中数组int[] arr={2,4,5,1}如何写一比较器然后从大到小排列_百度知...
{ int t=arr[i];arr[i]=arr[j];arr[j]=t;}

用java编程序 对一个由5个整数组成的数组,按照其内元素的从大到小排 ...
public static void main(String[] args) { int []a=new int[5];Scanner in=new Scanner(System.in);System.out.print("输入5个数:");for(int i=0;i<5;i++){ a[i]=in.nextInt();} Arrays.sort(a);\/\/这里排出来是从小到大 for(int i=0;i<2;i++){ \/\/这里做的就是一...

...大的排序,并在控制台窗口输出排完序的结果。java编程
public class Test { public static void main(String args[]) { Scanner input = new Scanner(System.in); System.out.print("你要输入多少个数:"); int num = input.nextInt(); \/\/ 创建数组,接收输入 int[] arr = new int[num]; for (int i = 0; i < ar...

利用JAVA语言写出10个数进行排序算法程序
public void MaoPaoFa(int arr[]){ int temp;for(int pass=1;pass<arr.length;pass++)\/\/\/外循环的次数 { for(int pair=1;pair<(arr.length-pass+1);pair++)\/\/内循环的次数 { if(arr[pair-1]>arr[pair]){ temp=arr[pair-1];arr[pair-1]=arr[pair];arr[pair]=temp;} } } }...

编写java程序:输入一组整数存放在数组中,比较并输出其中最大值和最小...
public class Arr{ \/\/数组 int[] arr = {3,1,6,4,5,10,2}; \/\/对数组进行简单的排序 java.util.Arrays.sort(arr); \/\/输出最大值、最小值 System.out.println("最大值:" + arr[arr.length-1] +"\\n最小值:" + arr[0]); \/\/从小到大输出 System.out...

java怎么让数组的数字从大到小排序?
示例代码如下: public class Test { public static void main(String[] args) { int [] array = {12,3,1254,235,435,236,25,34,23}; int temp; for (int i = 0; i < array.length; i++) { for (int j = i+1; j < array.length; j++) { if (array[i] < array[j])...

java中关于数组的问题,求代码,拜求大神
import java.util.Random;import java.util.Scanner;public class Test { public static void main(String[] args) { Scanner s = new Scanner(System.in); Random r = new Random(); \/\/ 随机数工具类 System.out.print("请输入数组长度:"); int[] arr = new int[s.nextInt()...

用JAVA编写程序,实现对数组int a[]=new a[5];从键盘随意输入5个值_百 ...
public static void main(String[] args) { System.out.println("请输入:");Scanner sc = new Scanner(System.in);int []a = new int[5];int ct =0;while (ct<5) { a[ct++]= sc.nextInt();} Arrays.sort(a);System.out.println("排序后:");for (int i = 0; i < a....

用java!!输入五个数,保存到一个数组中,然后将这五个数字进行从小到大的...
util.Arrays;import java.util.Scanner;public class TestA {public static void main(String[] args) {\/\/数组计量int count=0;int[] arr=new int[5];\/\/循环输入5个整数存放到数组while(count<5){Scanner sc=new Scanner(System.in);\/\/try防止输入不是整数的try {System.out.println("请输入...

相似回答