java簡單實現數組中的逆序對,java數組反序

本文目錄一覽:

用java 拜託了 將一個數組逆序輸出

這個可以使用數組工具類Arrays的asList方法將數組變成List集合,然後使用集合工具類Collections的方法reverse方法將集合中的元素順序反轉,在將集合轉換成數組,遍曆數組列印即可。

public class Test

{

public static void main(String[] args)

{

String[] s={“a”,”b”,”c”,”d”,”e”,”f”};

ListString list=Arrays.asList(s);

Collections.reverse(list);

list.toArray(s);

for(String str:s)

{

System.out.print(str+” “);

}

}

}

如果滿意,請採納謝謝。

怎樣求數組中逆序數對的個數(java)

private static int method(int[] array) {

    int count = 0;

    for (int i = 0; i  array.length; i++) {

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

            if (array[i]  array[j]) {

                count++;

            }

        }

    }

    return count;

}

private static int count = 0;

private void count(int[] array) {

    int length = array.length;

    int left = (int) (length / 2 + 0.5);

    int right = length / 2;

    int[] leftArray = new int[left];

    int[] rightArray = new int[right];

    System.arraycopy(array, 0, leftArray, 0, left);

    System.arraycopy(array, left, rightArray, 0, right);

    if (left  1  right  1) {

        count(leftArray);

        count(rightArray);

    }

    Arrays.sort(leftArray);

    Arrays.sort(rightArray);

    mergeCount(leftArray, rightArray);

}

private void mergeCount(int[] leftArray, int[] rightArray) {

    int leftLength = leftArray.length;

    int rightLength = rightArray.length;

    while (leftLength  0  rightLength  0) {

        if (leftArray[0]  rightArray[0]) {

            count = count + leftLength;

            System.arraycopy(rightArray, 1, rightArray, 0, rightLength – 1);

            rightLength–;

        } else {

            System.arraycopy(leftArray, 1, leftArray, 0, leftLength – 1);

            leftLength–;

        }

    }

}

private static Node[] nodes;

private static int[] tree;

private static int[] reflect;

private static int length;

private static int countArray(int[] array) {

    init(array);

    return doCount();

}

private static int doCount() {

    for (int i = 0; i  length; i++) {

        reflect[nodes[i].pos] = i + 1;

    }

    int count = 0;

    for (int i = 1; i = length; i++) {

        update(reflect[i]);

        count = count + i – sum(reflect[i]);

    }

    System.out.println(count);

    return count;

}

private static void init(int[] array) {

    length = array.length;

    nodes = new Node[length];

    reflect = new int[length + 1];

    tree = new int[length + 1];

    for (int i = 0; i  length; i++) {

        nodes[i] = new Node();

        nodes[i].value = array[i];

        nodes[i].pos = i + 1;

    }

    Arrays.sort(nodes, Comparator.comparingInt(o – o.value));

}

private static int lowbit(int x) {

    return x  (-x);

}

private static void update(int pos) {

    while (pos = length) {

        tree[pos] += 1;

        pos += lowbit(pos);

    }

}

private static int sum(int pos) {

    int sum = 0;

    while (pos  0) {

        sum += tree[pos];

        pos -= lowbit(pos);

    }

    return sum;

}

public static void main(String args[]) {

    int[] array = {40000000, 20000000, 3000000, 534435454, 732123434, 167675688, 46565656, 8};

    System.out.println(countArray(array));

}

//—————//

class Node {

    int value;

    int pos;

}

java如何將數組倒序列印?

直接數組元素對換

使用ArrayList: ArrayList存入和取出的順序是一樣的,可以利用這裡特性暫時存儲數組元素.

使用Collections和Arrays工具類

零基礎學習java可按照這份大綱來進行學習

第一階段:Java專業基礎課程

———-

階段目標:

1. 熟練掌握Java的開發環境與編程核心知識

2. 熟練運用Java面向對象知識進行程序開發

3. 對Java的核心對象和組件有深入理解

4. 熟練應用JavaAPI相關知識

5. 熟練應用JAVA多線程技術

6. 能綜合運用所學知識完成一個項目

知識點:

1、基本數據類型,運算符,數組,掌握基本數據類型轉換,運算符,流程式控制制。

2、數組,排序演算法,Java常用API,類和對象,了解類與對象,熟悉常用API。

3、面向對象特性,集合框架,熟悉面向對象三大特性,熟練使用集合框架。

4、IO流,多線程。

5、網路協議,線程運用。

———

第二階段:JavaWEB核心課程

階段目標:

1. 熟練掌握資料庫和MySQL核心技術

2. 深入理解JDBC與DAO資料庫操作

3. 熟練運用JSP及Servlet技術完成網站後台開發

4. 深入理解緩存,連接池,註解,反射,泛型等知識

5. 能夠運用所學知識完成自定義框架

知識點:

1、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,約束,視圖,存儲過程,函數,觸發器,事務,游標,建模工具。

2、深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理。為Java後台開發打下堅實基礎。Web頁面元素,布局,CSS樣式,盒模型,JavaScript,jQuery。

3、掌握前端開發技術,掌握jQuery。

4、Servlet,EL表達式,會話跟蹤技術,過濾器,FreeMarker。

5、掌握Servlet相關技術,利用Servlet,JSP相關應用技術和DAO完成B/S架構下的應用開發。

6、泛型,反射,註解。

7、掌握JAVA高級應用,利用泛型,註解,枚舉完成自己的CRUD框架開發為後續框架學習做鋪墊。

8、單點登錄,支付功能,項目整合,分頁封裝熟練運用JSP及Servlet核心知識完成項目實戰。

———

第三階段:JavaEE框架課程

階段目標:

1. 熟練運用Linux操作系統常見命令及完成環境部署和Nginx伺服器的配置

2. 熟練運用JavaEE三大核心框架:Spring,SpringMVC,MyBatis

3. 熟練運用Maven,並使用SpringBoot進行快速框架搭建

4. 深入理解框架的實現原理,Java底層技術,企業級應用等

5. 使用Shiro,Ztree和Spring,SpringMVC,Mybaits完成企業項目

知識點:

1、Linux安裝配置,文件目錄操作,VI命令,管理,用戶與許可權,環境部署,Struts2概述,hiberante概述。

2、Linux作為一個主流的伺服器操作系統,是每一個開發工程師必須掌握的重點技術,並且能夠熟練運用。

3、SSH的整合,MyBatis,SpringMVC,Maven的使用。

4、了解AOP原理,了解中央控制器原理,掌握MyBatis框架,掌握SSM框架的整合。

5、Shiro,Ztree,項目文檔,項目規範,需求分析,原型圖設計,資料庫設計,工程構建,需求評審,配置管理,BUG修復,項目管理等。

6、獨立自主完成一個中小型的企業級綜合項目的設計和整體架構的原型和建模。獨立自主完成一個大型的企業級綜合項目,並具備商業價值

用java定義一個長度為n的數組,實現該數組的逆序排列,n從鍵盤輸入

import java.util.Scanner;

public class Test{

Scanner scan = new Scanner(System.in);

System.out.print(“請輸入數組長度:”);

int n = scan.nextInt();

System.out.println(“請輸入數組內容(用空格隔開):”);

int[] arr = new int[n];

for(int i=0;in;i++){

arr[i] = scan.nextInt();

}

for(int i=0;in;i++){

for(int j=0;jn-i-1;j++){

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

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

System.out.println(“經逆序排列後,結果為:”);

for(int i=0;in;i++){

System.out.println(arr[i]+” “);

}

}

冒泡排序那裡沒太學紮實,可能有錯誤。

用Java編寫程序,定義一個數組,實現數組逆序排列.

完全調用api:

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

public class OtherWeekTime {

public static void main(String[] args){

Integer[] a = {58,69,23,158,4,50};

List list = Arrays.asList(a);

Collections.sort(list);

Collections.reverse(list);

a = (Integer[]) list.toArray();

for(int i:a){

System.out.println(i);

}

}

}

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

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

相關推薦

  • Python導入數組

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

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python去掉數組的中括弧

    在Python中,被中括弧包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括弧。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python編程實現列表元素逆序存放

    本文將從以下幾個方面對Python編程實現列表元素逆序存放做詳細闡述: 一、實現思路 一般來說,使用Python將列表元素逆序存放可以通過以下幾個步驟實現: 1. 定義一個列表 2…

    編程 2025-04-29
  • Python二維數組對齊輸出

    本文將從多個方面詳細闡述Python二維數組對齊輸出的方法與技巧。 一、格式化輸出 Python中提供了格式化輸出的方法,可以對輸出的字元串進行格式化處理。 names = [‘A…

    編程 2025-04-29
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28

發表回復

登錄後才能評論