本文目錄一覽:
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怎麼讓數組的數字從大到小排序?
將數字從大到小排序的方法:
例如簡一點的冒泡排序,將第一個數字和後面的數字逐個比較大小,如果小於,則互換位置,大於則不動。此時,第一個數為數組中的最大數。然後再將第二個數與後面的數逐個比較,以次類推。
示例代碼如下:
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默認為升序排序
如下為api:
public static void sort(int[] a)
對指定的 int 型數組按數字升序進行排序。該排序演算法是一個經過調優的快速排序法,改編自 Jon L. Bentley 和 M. Douglas
McIlroy 合著的 Engineering a Sort Function”, Software-Practice and Experience Vol.
23(11) P. 1249-1265 (November 1993)。此演算法在許多數據集上提供 n*log(n) 性能,這導致其他快速排序會降低二次型性能。
參數:
a – 要排序的數組
在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]) + “,”);
}
}
}
運行結果如下:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/155119.html