當前位置:首頁 » 編程語言 » java中數組的排序

java中數組的排序

發布時間: 2023-03-27 03:32:21

java怎麼讓數組的數字從大到小排序

將數字從大到小排序的方法:

例如簡一點的冒泡排序,將第一個數字和後面的數字逐個比較大小,如果小於,則互換位置,大於則不動。此時,第一個數為數組中的最大數。然後再將第二個數與後面的數逐沒御爛個比較,以次類推。

示例代碼如下:
publicclassTest{

publicstaticvoidmain(String[]args){
int[]array={12,3,1254,235,435,236,25,34,23};
inttemp;
for(inti=0;i<array.length;i++){
for(intj=i+1;j<array.length;j++){
if(array[i]<array[j]){
temp=array[i];
array[i]=array[j];
array[j]=temp; //兩個數交換位置
}
}
}
for(inti=0;i<array.length;i++){
System.out.print(array[i]+"");
}
}
}

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

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

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

(1)java中數組的排序擴展閱讀

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

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

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

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

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



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

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

importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.HashMap;
importjava.util.List;

publicclassceshi{
publicstaticvoidmain(String[]args){
intn=5;
int[]a={8,5,4,6,2,1,7,9,3};
HashMapmap=newHashMap();
for(inti=0;i<a.length;i++){
map.put(a[i],i);//將值和下標存入Map
}

//排列
Listlist=newArrayList();
Arrays.sort(a);//升序排列
for(inti=0;i<a.length;i++){
list.add(a[i]);
}
for(Objectobject:list){
System.out.print(object+",");
}
System.out.println();

//查找原始下標
for(inti=0;i<n;i++){
System.out.print(map.get(a[i])+",");
}

}

}

運行結果如下:

⑶ java 數組排序的方法

Arrays.sort()是按升序對數組進行排序的,當然會是矮的在前面了。

⑷ java中如何對數組和集合進行排序

java中對集合排序,可以使用Collections.sort來進行排序,可以對中文、字母、數字進行排序,當比較的是對象時候,讓該類實現comparable介面,示例如下:
Collections.sort(dataMap, new Comparator<Map<String, Object>>() { //排序介面實現方法 @Override public int compare(Map<String, Object> lhs, Map<String, Object> rhs) { switch (whichsort) { case System_OpenPosition_Sort_Currency: String d2 = ((String) rhs.get(Instrument)); String d1 = (String) lhs.get(Instrument); if (d2 != null && d1 != null) { int flag = d1.compareTo(d2); if (flag == 0) { Double d3 = ((Double) rhs.get(OpenPrice)); Double d4 = (Double) lhs.get(OpenPrice); if (d3 != null && d4 != null) { int flag2 = d4.compareTo(d3); if (flag2 == 0) { String d5 = ((String) rhs.get(BuySell)); String d6 = (String) lhs.get(BuySell);//文字排序 if (d5 != null && d6 != null) { return d6.compareTo(d5);//返回一個int類型,用來判斷是否大於、小於還是等於 } } return d4.compareTo(d3); } } else { return flag; } // return d1.compareTo(d2); }

⑸ java數組如何排序

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

⑹ java中類數組怎麼排序

用for嵌套循環,再寫一個temp變數,跟數組屬性一樣,存儲中間值,用冒泡法個人覺得最簡單的,
先用第一個值來挨個和下面的值進行比較,第一次
循環會找出最小的那個整形值,然後把最小所以的數組存儲在temp中,將外循環的數組存儲到這個數組中,然後將temp的值放到外循環的數組中,然後第二個值再與從第三個-------到最後一個值進行比較找到次小的,交換方法與前面的一樣,
最後循環完了就排好序了,
如:數組下標是10,則外循環是從0-8
內循環是1-9

⑺ 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;i<a.length;i++){
max = i;//
/**查找第 i大的數,直到記下第 i大數的位置***/
for(int j=i+1;j<a.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;i<a.length;i++)
System.out.print(a[i]+" ");
}
}

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

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

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

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

[objc]view plain

//方法

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

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

//字典里有兩對鍵值對

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

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

⑼ 數組的排序java

這個是冒泡排序,邏輯是循環比較大小,然後野御賦值

//冒泡排序
public int[] bubbleSort(int[] arr){
//世枯第一個for循環是程序需要執行要走多少趟
for(int i=0;i<arr.length-1;i++){
//第二個for循環是每趟需要比較多少次
for(int j=0;j<arr.length-1-i;j++){
//此處是從大頌返岩到小排列
if(arr[j]<arr[j+1]){
//定義一個臨時變數temp
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}

熱點內容
linux括弧 發布:2024-11-03 02:19:06 瀏覽:110
安卓7自帶小游戲怎麼玩 發布:2024-11-03 02:17:59 瀏覽:158
csgo如何連伺服器 發布:2024-11-03 02:13:04 瀏覽:391
斯坦福python 發布:2024-11-03 01:47:08 瀏覽:609
乘法編程教程 發布:2024-11-03 01:37:06 瀏覽:693
咒怨2ftp 發布:2024-11-03 01:31:17 瀏覽:432
linux如何安裝telnet 發布:2024-11-03 01:20:20 瀏覽:84
蘋果手機怎麼加密軟體 發布:2024-11-03 01:20:16 瀏覽:886
微信存儲路徑刪除 發布:2024-11-03 01:14:09 瀏覽:393
c語言貪吃蛇源碼 發布:2024-11-03 00:57:15 瀏覽:120