java排列,java排列組合演算法詳解

本文目錄一覽:

java 數組順序排列

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

就是這是個升序!

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

比如

for(int i:arr){

System.out.println(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 關於排列 (sort)

程序整體錯誤較多,但你的思路很清晰。在以後要多注意數組邊界的處理和排序的邏輯性思維的鍛煉

出現的錯誤已更正,需要注意的地方代碼中已經指出。希望對你有幫助

——————————————程序代碼——————————————

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

public class population {

static Scanner console=new Scanner(System.in);

public static void main(String[]args)

{ int[] x={1,25,7,6,8}; //x.length=5;

int i,j,f;

int []v=new int[8];

for (j=0;j5;j++)/*由於x有5個元素,j=1開始循環的話那麼j6,但你

後邊要給數組賦值所以只有改j的初始值了,

後邊就將j+1就不會出現「x0」

*/

{System.out.println(“Enter the number for x”+ (j +1));

for (i=0;i8;i++)

v[i]=console.nextInt();

x[j]=(v[0]+v[1])-(v[2]+v[3])+(v[4]+v[5])+(v[6]+v[7]);

}

System.out.println(“排序前:”);

for (j=0;j5;j++){

System.out.println(“x”+j+”=” + x[j]);

}

for (f =0; fx.length;f++)

{

for (j=0;j(x.length-1);j++)/*循環每一個元素所以要從j=0開始,

在這個數組裡 第4此循環比較x[3]和 x[4], 第5次循環

只取的最後一個元素 這也是冒泡排序

要注意的地方,最後一次不要比較。*/

{

if (x[j]x[j+1])

{ //將x[j],[j+1]交換位置,

int tmp=0;

tmp=x[j+1];

x[j+1]=x[j];

x[j]=tmp;

}

}

}

System.out.println(“排序後:”);

for (j=0;j5;j++){

System.out.println(“x”+j+”=” + x[j]);

}

}

}

________________________________程序執行結果————————————

Enter the number for x1

1 2 3 4 5 6 7 8

Enter the number for x2

2 5 8 3 6 9 7 8

Enter the number for x3

1 4 7 2 5 8 3 6

Enter the number for x4

4 5 6 7 8 92 5

4

Enter the number for x5

4 5 6 8 5 2 3 6

排序前:

x0=22

x1=26

x2=18

x3=105

x4=11

排序後:

x0=105

x1=26

x2=22

x3=18

x4=11

java數組sort()方法降序怎麼排?

java數組sort()方法降序方式:

用Arrays類sort()對數組元素進行降序排列

import java.util.Arrays;

class SortDemo

{

public static void main(String[] args)

{

int[] vec={0,15,-14,45,20,70};

Arrays.sort(vec);

System.out.println(“/n”);

System.out.println(“降序排列:”);

for (int i=vec.length-1;i=0 ;i– )

{

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

}

}

}

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

首先根據數組的類型不同排序方式也是不同的,如果是基本類型數組,那麼使用冒泡或者其他排序方式都是很簡單的,例如:。如果不想自己寫排序演算法那麼使用Arrays.sort()進行排序也是不錯的。

如果是自定義類型的數組,推薦使用java自帶的工具類:Comparable介面,並重寫CompareTo()方法。或者Compartor。

java實現排列組合輸出

完成了一種實現,發給你參考下。

不過感覺應該還有更好的辦法,有時間我會繼續研究下.

import java.util.ArrayList;

import java.util.Arrays;

import java.util.HashSet;

import java.util.List;

import java.util.Set;

public class TestQiuhe {

    //集合a{1,2,3,5,7,10},輸出不多於4個元素(不重複)的加和為22的組合。

    public static void main(String[] args) {

        int[] nums={1,2,3,5,7,10};

        int l = nums.length;

        Listint[] results=new ArrayListint[]();

        for(int i1=0;i1l;i1++){

            for(int i2=0;i2l;i2++){

                if(nums[i1]==22){

                    results.add(new int[]{nums[i1]});

                }

                if(i2!=i1){

                    if(nums[i1]+nums[i2]==22){

                        results.add(new int[]{nums[i1],nums[i2]});

                    }

                    for(int i3=0;i3l;i3++){

                        if(i3!=i1  i3!=i2){

                            if(nums[i1]+nums[i2]+nums[i3]==22){

                                results.add(new int[]{nums[i1],nums[i2],nums[i3]});

                            }

                            for(int i4=0;i4l;i4++){

                                if(i4!=i1  i4!= i2  i4!=i3){

                                    if(nums[i1]+nums[i2]+nums[i3]+nums[i4]==22){

                                        results.add(new int[]{nums[i1],nums[i2],nums[i3],nums[i4]});

                                    }

                                }

                            }

                        }

                    }

                }

            }

        }

        //去重

        SetString reSet=new HashSet();

        for(int[] r:results){

            Arrays.sort(r);

            reSet.add(Arrays.toString(r));

        }

        System.out.println(“一共得到結果集:”+reSet.size());

        System.out.println(reSet);

    }

}

運行結果:

一共得到結果集:2

[[5, 7, 10], [2, 3, 7, 10]]

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

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

相關推薦

  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python實現爬樓梯演算法

    本文介紹使用Python實現爬樓梯演算法,該演算法用於計算一個人爬n級樓梯有多少種不同的方法。 有一樓梯,小明可以一次走一步、兩步或三步。請問小明爬上第 n 級樓梯有多少種不同的爬樓梯…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • Harris角點檢測演算法原理與實現

    本文將從多個方面對Harris角點檢測演算法進行詳細的闡述,包括演算法原理、實現步驟、代碼實現等。 一、Harris角點檢測演算法原理 Harris角點檢測演算法是一種經典的計算機視覺演算法…

    編程 2025-04-29
  • 數據結構與演算法基礎青島大學PPT解析

    本文將從多個方面對數據結構與演算法基礎青島大學PPT進行詳細的闡述,包括數據類型、集合類型、排序演算法、字元串匹配和動態規劃等內容。通過對這些內容的解析,讀者可以更好地了解數據結構與算…

    編程 2025-04-29
  • 瘦臉演算法 Python 原理與實現

    本文將從多個方面詳細闡述瘦臉演算法 Python 實現的原理和方法,包括該演算法的意義、流程、代碼實現、優化等內容。 一、演算法意義 隨著科技的發展,瘦臉演算法已經成為了人們修圖中不可缺少…

    編程 2025-04-29
  • 神經網路BP演算法原理

    本文將從多個方面對神經網路BP演算法原理進行詳細闡述,並給出完整的代碼示例。 一、BP演算法簡介 BP演算法是一種常用的神經網路訓練演算法,其全稱為反向傳播演算法。BP演算法的基本思想是通過正…

    編程 2025-04-29
  • 粒子群演算法Python的介紹和實現

    本文將介紹粒子群演算法的原理和Python實現方法,將從以下幾個方面進行詳細闡述。 一、粒子群演算法的原理 粒子群演算法(Particle Swarm Optimization, PSO…

    編程 2025-04-29
  • Python中升序排列的if語句

    本文將為大家介紹Python中升序排列的if語句。首先,我們來看一下如何實現。 if a > b: a, b = b, a if b > c: b, c = c, b …

    編程 2025-04-29
  • Python回歸演算法算例

    本文將從以下幾個方面對Python回歸演算法算例進行詳細闡述。 一、回歸演算法簡介 回歸演算法是數據分析中的一種重要方法,主要用於預測未來或進行趨勢分析,通過對歷史數據的學習和分析,建立…

    編程 2025-04-28

發表回復

登錄後才能評論