国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java中數(shù)組的四種排序

這篇具有很好參考價值的文章主要介紹了java中數(shù)組的四種排序。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.數(shù)組

1.1數(shù)組的基本概念

數(shù)組(Array)是有序的元素序列。 若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標變量/12713827)。用于區(qū)分數(shù)組的各個元素的數(shù)字編號稱為下標。數(shù)組是在程序設(shè)計中,為了處理方便, 把具有相同類型的若干元素按有序的形式組織起來的一種形式。 這些有序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組。
數(shù)組是用于儲存多個相同類型數(shù)據(jù)的集合。
java數(shù)組排序,java,java,算法,數(shù)據(jù)結(jié)構(gòu)

  public static void main(String[] args) {
		double[] ds = new double[3]; 
		ds[2] 
		//String有l(wèi)ength方法.length(),Arrays有l(wèi)ength屬性.length 
		System.out.println(ds.length);//3 
		System.out.println(ds[1]); //0.0 //聲明字符串數(shù)組,并直接初始化。3個元素 
		String[] ss = new String[]{"java", "hello", "mysql"}; //聲明int型的數(shù)組,長度為3,并初始化全部數(shù)據(jù)為0 
		int[] a = new int[3]; // 0 1 2 三個 0 
		a[1] = 100; System.out.println(a[0]);//0 
		System.out.println(a[1]);//100 
		System.out.println(a[2]);//0 //a[3] = 20; 錯誤的,數(shù)組在java長度是固定 
		//下邊行是有異常的, 
		System.out.println(a[3]);//數(shù)組下標是0 1 2 沒有3
	}

1.2 聲明數(shù)組

java數(shù)組排序,java,java,算法,數(shù)據(jù)結(jié)構(gòu)

public class Arr1 { 
	public static void main(String[] args) { 
		int[] nums = {1, 2, 3}; 
		System.out.println(nums[2]); 
} 
} 

1.3內(nèi)存模式

java數(shù)組排序,java,java,算法,數(shù)據(jù)結(jié)構(gòu)

java數(shù)組排序,java,java,算法,數(shù)據(jù)結(jié)構(gòu)
java數(shù)組排序,java,java,算法,數(shù)據(jù)結(jié)構(gòu)

1.4遍歷數(shù)組

	int[] a = new int[]{1, 20, 300};
	System.out.println(a.length); //數(shù)組對象的屬性,返回一個int數(shù)字,代表當前數(shù)組的元素個數(shù)
	System.out.println(a[2]);
	     //遍歷一
        for(var i : a){   
            System.out.println(i);
        }
         // 遍歷二
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
        //倒序遍歷            
        for (int i = ls.length - 1; i >= 0; i--) {     
            System.out.println(ls[i]);
        }
	        //遍歷四 java8 lambda 表達式遍歷方式
	       Arrays.stream(a).forEach(System.out::println);

2.排序

2.1亂序,升降序

public class ArrSort3 { 
     public static void main(String[] args) {
          var ss = new String[]{"java", "python", "c", "php", "go", "ruby", "javascript"};  
	     //未排序 
         System.out.println(Arrays.toString(ss)); 
	     //升序 
	     Arrays.sort(ss); 
	     System.out.println(Arrays.toString(ss)); 
	     //降序
	     Arrays.sort(ss, Comparator.reverseOrder());   
	     System.out.println(Arrays.toString(ss));
	     //亂序 
	     Arrays.sort(ss, (a, b) -> Math.random() > .5 ? 1 : -1); 
	     System.out.println(Arrays.toString(ss)); 
       } 
       }

2.2冒泡排序

冒泡排序(Bubble Sort)也是一種簡單直觀的排序算法。它重復(fù)地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數(shù)列的工作是重復(fù)地進行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。這個算法的名字由來是因為越小的元素會經(jīng)由交換慢慢"浮"到數(shù)列的頂端。文章來源地址http://www.zghlxwxcb.cn/news/detail-613508.html

public static void main(String[] args) {
        //01 聲明數(shù)組
        int[] nums = new int[10];

        //02 數(shù)組元素賦值
        Random rand = new Random();
        for (int i = 0; i < nums.length; i++) nums[i] = rand.nextInt(1, 101);

        //03 排序前輸出,直接使用Arrays.toString(nums);
        System.out.println("排序前:" + Arrays.toString(nums));

        //04排序算法(冒泡排序)
        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = 0; j < nums.length - 1; j++) {
                if (nums[j] < nums[j + 1]) {  // > 換為升序  < 換為降序
                    int a = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = a;
                }
            }
        }

        //05 排序輸出
        System.out.println("排升序后:" + Arrays.toString(nums));

       //04排序算法(冒泡排序)
        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = 0; j < nums.length - 1; j++) {
                if (nums[j] > nums[j + 1]) {  // > 換為升序  > 換為降序
                    int a = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = a;
                }
            }
        }
        //05 排序輸出
        System.out.println("排降序后:" + Arrays.toString(nums));

   }
 }

到了這里,關(guān)于java中數(shù)組的四種排序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Hive的四種排序方法

    hive排序方法,hive的排序方式 hive有四種排序方法: ORDER BY 、SORT BY 、DISTRIBUTE BY 、CLUSTER BY 0. 測試數(shù)據(jù)準備 uuid dept salary 1001 研發(fā)部 16000 1002 市場部 17000 1003 銷售部 11000 1004 研發(fā)部 15000 1005 銷售部 12000 1006 研發(fā)部 21000 1007 產(chǎn)品部 16000 1008 研發(fā)部 18000 1009 市場部 17000 1010 產(chǎn)品部 16

    2024年02月02日
    瀏覽(22)
  • 算法 數(shù)據(jù)結(jié)構(gòu) 遞歸插入排序 java插入排序 遞歸求解插入排序算法 如何用遞歸寫插入排序 插入排序動圖 插入排序優(yōu)化 數(shù)據(jù)結(jié)構(gòu)(十)

    算法 數(shù)據(jù)結(jié)構(gòu) 遞歸插入排序 java插入排序 遞歸求解插入排序算法 如何用遞歸寫插入排序 插入排序動圖 插入排序優(yōu)化 數(shù)據(jù)結(jié)構(gòu)(十)

    1. 插入排序(insertion-sort): ????????????????????????????????????????? 是一種簡單直觀的排序算法。它的工作原理是通過構(gòu)建有序序列,對于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入 ??? 算法穩(wěn)定性: ?????????????????

    2024年02月09日
    瀏覽(25)
  • 【數(shù)據(jù)結(jié)構(gòu)】用Java實現(xiàn)七大排序算法

    【數(shù)據(jù)結(jié)構(gòu)】用Java實現(xiàn)七大排序算法

    目錄 ??1. 排序的概念及引用 1.1 排序的概念 1.2 衡量指標 1.2 十個排序算法 ?1.3 十個排序性能對比 ??2. 冒泡排序 2.1 算法描述 2.2 動圖 ??代碼優(yōu)化 ??3. 選擇排序 3.1 算法描述 3.2 動圖 ?3.3 代碼 ??4. 插入排序 4.1 算法描述 4.2 動圖 ?4.3 代碼 ??5 希爾排序 5.1 描述 5.2 動圖 ?

    2023年04月23日
    瀏覽(31)
  • 【算法與數(shù)據(jù)結(jié)構(gòu)】Java實現(xiàn)查找與排序

    【算法與數(shù)據(jù)結(jié)構(gòu)】Java實現(xiàn)查找與排序

    也叫做折半查找,屬于有序查找算法。 前提條件 :數(shù)組數(shù)據(jù)必須有序,從小到大,或者從大到小都是可以的。 如果是無序的,也可以先進行排序。 但是排序之后,會改變原有數(shù)據(jù)的順序,查找出來元素位置跟原來的元素可能是不一樣的,所以排序之后再查找只能判斷當前數(shù)

    2024年01月19日
    瀏覽(31)
  • List按指定規(guī)則排序的四種方法

    使用Collections.sort(list)可對一個List對象進行升序排序,但如果要按某種指定規(guī)則進行排序,可使用如下四種方法: 1. 使用list.sort(comparator)方法 List的sort()方法中可以傳入一個自定義Comparator比較器。實現(xiàn)Comparator接口, 重寫compare方法 來定義排序規(guī)則。 如果compare()方法返回負整

    2024年02月05日
    瀏覽(19)
  • 數(shù)據(jù)結(jié)構(gòu)與算法中的七大排序(Java實現(xiàn))

    數(shù)據(jù)結(jié)構(gòu)與算法中的七大排序(Java實現(xiàn))

    目錄 一、直接插入排序 二、希爾排序 三、直接選擇排序 四、堆排序 五、冒泡排序 六、快速排序 七、歸并排序 ? ? ? ? ? ? ? 定義i下標之前的元素全部已經(jīng)有序 ,遍歷一遍要排序的數(shù)組,把i下標前的元素全部進行排序,當遍歷玩這個數(shù)組后,就已經(jīng)排好序了。 ? ? ? ?

    2024年02月06日
    瀏覽(31)
  • 【C/C++】統(tǒng)計數(shù)組各元素個數(shù)的四種方法

    ?問題:給定一個數(shù)組,輸出各元素出現(xiàn)的次數(shù)。 目錄 法一:逐個統(tǒng)計 法二:用數(shù)組以值代址 法三:先排序,再進行統(tǒng)計 法四:利用哈希表進行統(tǒng)計 ?思路: 數(shù)組第一個數(shù)為目標,遍歷數(shù)組進行統(tǒng)計,統(tǒng)計后的數(shù)據(jù)替換成0(表示已刪除),統(tǒng)計后輸出數(shù)目。 優(yōu)點:呃。。

    2024年01月21日
    瀏覽(18)
  • 【Java數(shù)據(jù)結(jié)構(gòu)與算法】Day2-高級排序(希爾、歸并、快速、計數(shù))

    【Java數(shù)據(jù)結(jié)構(gòu)與算法】Day2-高級排序(希爾、歸并、快速、計數(shù))

    ?作者簡介:熱愛Java后端開發(fā)的一名學(xué)習(xí)者,大家可以跟我一起討論各種問題喔。 ??個人主頁:Hhzzy99 ??個人信條:堅持就是勝利! ??當前專欄:【Java數(shù)據(jù)結(jié)構(gòu)與算法】 ??本文內(nèi)容:Java數(shù)據(jù)結(jié)構(gòu)與算法中的比較高級的排序,希爾排序、歸并排序、快速排序、計數(shù)排序

    2024年02月02日
    瀏覽(34)
  • C語言指向二維數(shù)組的四種指針以及動態(tài)分配二維數(shù)組的五種方式

    C語言指向二維數(shù)組的四種指針以及動態(tài)分配二維數(shù)組的五種方式

    當二維數(shù)組作為結(jié)構(gòu)成員或返回值時,通常需要根據(jù)用戶傳遞的參數(shù)來決定二維數(shù)組的大小,此時就需要動態(tài)分配二維數(shù)組。 如果現(xiàn)在有一個二維數(shù)組 a[3][2] ,那么將有以下幾種指針可以指向它: 方式一 方式二: 在應(yīng)用場景中通常采用以下三種方式動態(tài)分配二維數(shù)組,因為

    2024年02月04日
    瀏覽(24)
  • java數(shù)據(jù)結(jié)構(gòu)與算法刷題-----LeetCode209. 長度最小的子數(shù)組

    java數(shù)據(jù)結(jié)構(gòu)與算法刷題-----LeetCode209. 長度最小的子數(shù)組

    java數(shù)據(jù)結(jié)構(gòu)與算法刷題目錄(劍指Offer、LeetCode、ACM)-----主目錄-----持續(xù)更新(進不去說明我沒寫完): https://blog.csdn.net/grd_java/article/details/123063846 解題思路 代碼:時間復(fù)雜度O(n).空間復(fù)雜度O(1)

    2024年01月21日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包