數組排序java,數組排序java代碼

本文目錄一覽:

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]) { 

temp = array[i]; 

array[i] = array[j]; 

array[j] = temp; // 兩個數交換位置 

for (int i = 0; i  array.length; i++) { 

System.out.print(array[i]+”  “); 

}

數組對於每一門編程語言來說都是重要的數據結構之一,當然不同語言對數組的實現及處理也不盡相同。

Java 語言中提供的數組是用來存儲固定大小的同類型元素。

你可以聲明一個數組變數,如 numbers[100] 來代替直接聲明 100 個獨立變數 number0,number1,….,number99

擴展資料

Java中利用數組進行數字排序一般有4種方法:

1、選擇排序是先將數組中的第一個數作為最大或最小數,然後通過循環比較交換最大數或最小數與一輪比較中第一個數位置進行排序。

2、冒泡排序也是先將數組中的第一個數作為最大或最小數,循環比較相鄰兩個數的大小,滿足條件就互換位置,將最大數或最小數沉底。

3、快速排序法主要是運用Arrays類中的Arrays.sort方法()實現。

4、插入排序是選擇一個數組中的數據,通過不斷的插入比較最後進行排序。

java 數組順序排列

首先,API裡面寫了: Sorts the specified array of ints into ascending numerical order.

就是這是個升序!

其次,你這個運行應該不會報錯,輸出的會是 數組地址,因為數組在java裡面是一個對象,如果要看排序的結果,需要遍歷下:

比如

for(int i:arr){

System.out.println(i);

}

在java編程中如何對數組進行排序,並輸出排序後的數組及原數組下標值

java變成對數組進行排序可以使用ArraySort方法,保存源數組下標值可以存入map中,如下代碼:

import java.util.ArrayList;

import java.util.Arrays;

import java.util.HashMap;

import java.util.List;

public class ceshi {

public static void main(String[] args) {

int n = 5;

int[] a = { 8, 5, 4, 6, 2, 1, 7, 9, 3 };

HashMap map = new HashMap();

for (int i = 0; i  a.length; i++) {

map.put(a[i], i); // 將值和下標存入Map

}

// 排列

List list = new ArrayList();

Arrays.sort(a); // 升序排列

for (int i = 0; i  a.length; i++) {

list.add(a[i]);

}

for (Object object : list) {

System.out.print(object + “,”);

}

System.out.println();

// 查找原始下標

for (int i = 0; i  n; i++) {

System.out.print(map.get(a[i]) + “,”);

}

}

}

運行結果如下:

java數組排序

//原理:每次都找到當次最大的數,按大小順序依次放入數組相應位置

//比如:第一次先找到最大的數並記下其位置,如果其不在數組第一位,

//則將其與第一位交換,使最大數置於第一位

//第二次再循環查找第二大的數並記下其位置,如果其不在數組第二位,

//則將其與第二位交換,使最大數置於第二位

//依次類推…………………………………..

//第i次再循環查找第i大的數並記下其位置,如果其不在數組第 i位,

//則將其與第 i位交換,使最大數置於第 i位

public class SelectSort {

public static void main(String[] args) {

int[] a = {25,15,42,16,12,36};

int max = 0;

int tmp = 0;

for(int i=0;ia.length;i++){

max = i;//

/**查找第 i大的數,直到記下第 i大數的位置***/

for(int j=i+1;ja.length;j++){

if(a[max]a[j])

max = j;//記下較大數位置,再次比較,直到最大

}

/***如果第 i大數的位置不在 i,則交換****/

if(i!=max){

tmp = a[i];

a[i] = a[max];

a[max] = tmp;

}

}

for(int i=0;ia.length;i++)

System.out.print(a[i]+” “);

}

}

Java數組排序

//第一種

int[]a ={5,3,2,4,6,1,8,7,9};

Arrays.sort(a);

//冒泡排序

int[]a ={5,3,2,4,6,1,8,7,9};

int temp=0;  

    for(int i=0;ia.length-1;i++){  

        for(int j=0;ja.length-1-i;j++){  

        if(a[j]a[j+1]){  

            temp=a[j];  

            a[j]=a[j+1];  

            a[j+1]=temp;  

        }  

        }  

    }

//選擇排序

int[]args1 ={5,3,2,4,6,1,8,7,9};

for (int i=0;iargs1.length-1 ;i++ ){   

            int min=i;   

            for (int j=i+1;jargs1.length ;j++ ){   

                  if (args1[min]args1[j]){   

                       min=j;   

                       }   

              }   

                  if (min!=i){  

                  int temp=args1[i];  

                  args1[i]=args1[min];  

                  args1[min]=temp;          

              }  

        }

//插入排序

int[]args1 ={5,3,2,4,6,1,8,7,9};

for(int i=1;iargs1.length;i++){   

            for(int j=i;j0;j–){   

                    if (args1[j]args1[j-1]){   

                            int temp=args1[j-1];  

                            args1[j-1]=args1[j];  

                           args1[j]=temp;          

                   }else break;   

           }  

    }

原創文章,作者:EBQJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139375.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EBQJ的頭像EBQJ
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29

發表回復

登錄後才能評論