java數組排序,Java數組排序方法

本文目錄一覽:

java數組如何排序

如果是升序可以使用 Arrays.sort(數組名)(注意:要使用這個方法必須導入java.util.Arrays包)或者使用冒泡排序,如果是降序只能自己寫,推薦使用冒泡排序

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 數組排序的方法

JAVA 中數組的幾種排序方法:

1、數組的冒泡排序

[java] view plaincopyprint?

public void bubbleSort(int a[]) {

int n = a.length;

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

for (int j = 0; j n – 1; j++) {

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

int temp = a[j];

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

a[j + 1] = temp;

}

}

}

}

2、數組的選擇排序

[java] view plaincopyprint?

public void selectSort(int a[]) {

for (int n = a.length; n 1; n–) {

int i = max(a, n);

int temp = a[i];

a[i] = a[n – 1];

a[n – 1] = temp;

}

}

3、數組的插入排序

[java] view plaincopyprint?

public void insertSort(int a[]) {

int n = a.length;

for (int i = 1; i n; i++) { //將a[i]插入a[0:i-1]

int t = a[i];

int j;

for (j = i – 1; j = 0 t a[j]; j–) {

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

}

a[j + 1] = t;

}

}

4、設置兩層循環

[java] view plaincopyprint?

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

{

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

{

if(arrayOfInts[i]arrayOfInts[j])

{

a=arrayOfInts[i];

arrayOfInts[i]=arrayOfInts[j];

arrayOfInts[j]=a;

}

}

}

5、還有一種方法就是用Arrays.sort()方法:

[java] view plaincopyprint?

//導入包

import java.util.Arrays;

public class Two3{

public static void main(String[]args)

{

int[]arrayOfInts={32,87,3,589,12,7076,2000,8,622,127};

Arrays.sort(arrayOfInts);

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

{

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

}

}

JAVA通過數組按首字母排序怎麼做?

自己封裝的一個工具類,可以將漢字按照拼音的首字母排序,支持對Model和字典排序.只能對首字母排序,不支持第二個字母, 實現的原理就是創建一個A-Z的數組,數組中的元素是字典,字典中有兩個元素,一個是title,就是當前的首字母 A-Z中的一個,另一個是保存當前title對應的元素的數組,對傳入的數組進行遍歷獲得數組中的一個元素,如果是Model或者字典通過傳入的key的值獲得要排序的字符串,獲得字符串的拼音的首字母,判斷拼音的首字母是A-Z中的哪一個,然後放到數組中的對應的字典的數組中.

後來又做了一個對英文的首字母排序的程序,原理和上面的一樣,還省略了將漢字轉化為拼音的步驟。工具類的名稱是:NH_OrderByPinYinFirstLetter。

代碼:使用的時候直接調用下面的方法就行,是一個加號方法,第一個參數是保存要排序的元素的數組,第二個參數:如果數組中是Model或者字典,就寫排序的依據的key值,如果數組中不是Model或字典,就寫nil。

[objc] view plain copy

// 方法

+ (NSMutableArray *)baseOrderPinYinOnArr:(NSMutableArray *)arr ByKey:(NSString *)key  返回值的類

// 返回一個有24個元素的數組,數組裡的元素是字典

// 字典里有兩對鍵值對

//    title : 當前的拼音首字母 A – Z

// datas : 當前的拼音首字母對應的model所組成的數組

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]+” “);

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/290998.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 13:13
下一篇 2024-12-24 13:13

相關推薦

  • Java JsonPath 效率優化指南

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

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

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

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

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

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

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

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

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

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

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

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

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29

發表回復

登錄後才能評論