導航:首頁 > 編程語言 > java數組排序自定義排序

java數組排序自定義排序

發布時間:2024-12-05 10:54:59

Ⅰ 如何用java實現一個數組的排列

首先根據數組的類型不同排序方式也是不同的,如果是基本類型數組,那麼使用冒泡或者其他排序方式都是很簡單的,例如:http://blog.csdn.net/yyywyr/article/details/8075433。如果不想自己寫排序演算法那麼使用Arrays.sort()進行排序也是不錯的。
如果是自定義類型的數組,推薦使用java自帶的工具類:Comparable介面,並重寫CompareTo()方法。或者Compartor。

Ⅱ 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

(2)java數組排序自定義排序擴展閱讀

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

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

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

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

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



Ⅲ 用java寫 定義一個數組 將它們從小到大排列

最佳答案渣模:冒泡排序演算法。一下為C#語言例子指畢:
int temp = 0;
int[] arr = { 23, 44, 66, 76, 98, 11, 3, 9, 7 };
Console.WriteLine("排序如逗緩前的數組:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
for (int i = 0; i < arr.Length-1; i++)
{
for (int j = 0; j < arr.Length-1-i; j++)
{
if (arr[j+1] > arr[j])
{
temp = arr[j+1];arr[j+1] = arr[j];arr[j] = temp; }
}
}
Console.WriteLine("排序後的數組:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
Console.ReadKey();
}

Ⅳ 詳解Comparable和Comparator

排序在編程中是一項基礎而關鍵的技能。在Java中,我們可以通過兩種方式實現數組、集合等容器的排序:使用Comparable介面或Comparator介面。

實現Comparable介面意味著該類支持排序。一旦類實現了Comparable介面,其對象即可用於有序映射(如TreeMap)中的鍵或有序集合(如TreeSet)中的元素,無需額外指定比較器。介面中的核心函數compareTo方法返回一個int值,表示兩個對象的相對大小。若返回正數,表示第一個對象大於第二個;若返回零,兩者相等;若返回負數,第一個對象小於第二個。

相比之下,Comparator介面允許我們自定義排序規則,適用於那些不支持自動排序的類。實現Comparator介面的類可以創建一個比較器,通過該比較器對類進行排序。Comparator介麵包含一個compare方法,用於比較兩個對象。返回值同樣是int類型,有三種情況:如果第一個對象大於第二個,返回正數;如果相等,返回零;如果小於第二個,返回負數。

在實際應用中,Comparable介面通常用於類內部的排序需求,而Comparator介面則用於更靈活的排序控制。因此,Comparable相當於「內部比較器」,而Comparator相當於「外部比較器」。

總結而言,Comparable和Comparator提供了靈活的排序機制,它們在Java中分別適用於自動排序和自定義排序的需求。通過合理選擇和應用這兩種比較器,可以高效地處理各種排序問題,從而提升代碼的可讀性和可維護性。

Ⅳ Java數組排序 幾種排序方法詳細一點

JAVA中在運用數組進行排序功能時,一般有四種方法:快速排序法、冒泡法、選擇排序法、插入排序法。

快速排序法主要是運用了Arrays中的一個方法Arrays.sort()實現。

冒泡法是運用遍歷數組進行比較,通過不斷的比較將最小值或者最大值一個一個的遍歷出來。

選擇排序法是將數組的第一個數據作為最大或者最小的值,然後通過比較循環,輸出有序的數組。

插入排序是選擇一個數組中的數據,通過不斷的插入比較最後進行排序。下面我就將他們的實現方法一一詳解供大家參考。

<1>利用Arrays帶有的排序方法快速排序

publicclassTest2{
publicstaticvoidmain(String[]args){
int[]a={5,4,2,4,9,1};
Arrays.sort(a);//進行排序
for(inti:a){
System.out.print(i);
}
}
}

<2>冒泡排序演算法

publicstaticint[]bubbleSort(int[]args){//冒泡排序演算法
for(inti=0;i<args.length-1;i++){
for(intj=i+1;j<args.length;j++){
if(args[i]>args[j]){
inttemp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
returnargs;
}

<3>選擇排序演算法

publicstaticint[]selectSort(int[]args){//選擇排序演算法
for(inti=0;i<args.length-1;i++){
intmin=i;
for(intj=i+1;j<args.length;j++){
if(args[min]>args[j]){
min=j;
}
}
if(min!=i){
inttemp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
returnargs;
}

<4>插入排序演算法

publicstaticint[]insertSort(int[]args){//插入排序演算法
for(inti=1;i<args.length;i++){
for(intj=i;j>0;j--){
if(args[j]<args[j-1]){
inttemp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}elsebreak;
}
}
returnargs;
}
閱讀全文

與java數組排序自定義排序相關的資料

熱點內容
伺服器主機如何設置啟動 瀏覽:282
linux配置網路命令 瀏覽:774
一張照片怎麼製作視頻app 瀏覽:908
pythonweb和php 瀏覽:976
電腦伺服器地址ip地址 瀏覽:823
對矩陣壓縮是為了 瀏覽:910
setfacl命令 瀏覽:172
linux子系統中斷 瀏覽:342
linux查看進程ps 瀏覽:224
知識庫系統php 瀏覽:623
小波變換壓縮圖像python 瀏覽:151
阿里巴巴程序員怎麼月入百萬 瀏覽:173
如何使用國外伺服器 瀏覽:188
燃燈者pdf 瀏覽:468
編譯器用數學嗎 瀏覽:7
圖形化apk反編譯工具 瀏覽:48
考勤表加密怎麼辦 瀏覽:735
arj壓縮與解壓批處理怎麼寫 瀏覽:658
php和大數據哪個好 瀏覽:930
未來最值得投資的加密貨幣 瀏覽:526