Java快速排序,java快速排序代碼

本文目錄一覽:

java編程實現隨機數組的快速排序

java編程實現隨機數組的快速排序步驟如下:

1、打開Eclipse,新建一個Java工程,在此工程里新建一個Java類;

2、在新建的類中聲明一個產生隨機數的Random變數,再聲明一個10個長度的int型數組;

3、將產生的隨機數逐個放入到數組中;

4、利用排序演算法對隨機數組進行排序。

具體代碼如下:

import java.util.Random;

public class Demo {

    public static void main(String[] args) {

        int count = 0;

        Random random = new Random();

        int a[] = new int[10];

        while(count  10){

            a[count] = random.nextInt(1000);//產生0-999的隨機數

            count++;

        }

        for (int i = 0; i  a.length – 1; i++) {

            int min = i;

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

                if (a[j]  a[min]) {

                    min = j;

                }

            }

            if (min != i) {

                int b = a[min];

                a[min] = a[i];

                a[i] = b;

            }

        }

        for (int c = 0; c  a.length; c++) {

            System.out.print(a[c] + ” “);

        }

    }

}

舉一個簡單java快速排序的例子?

Java中的快速排序一個簡單的例子

public class QuickSort {

public static void sort(Comparable[] data, int low, int high) {

// 樞紐元,一般以第一個元素為基準進行劃分

Comparable pivotKey = data[low];

// 進行掃描的指針i,j;i從左邊開始,j從右邊開始

int i = low;

int j = high;

if (low high) {

// 從數組兩端交替地向中間掃描

while (i j) {

while (i j data[j].compareTo(pivotKey) 0) {

j–; }

// end while

if (i j) {

// 比樞紐元素小的移動到左邊

data[i] = data[j];

i++;

}

// end if

while (i j data[i].compareTo(pivotKey) 0) {

i++;

}

// end while

if (i j) {

// 比樞紐元素大的移動到右邊

data[j] = data[i];

j–;

}

// end if

}

// end while

// 樞紐元素移動到正確位置

data[i] = pivotKey;

// 前半個子表遞歸排序

sort(data, low, i – 1);

// 後半個子表遞歸排序

sort(data, i + 1, high);

}

// end if

}

// end sort

public static void main(String[] args) {

// 在JDK1.5版本以上,基本數據類型可以自動裝箱

// int,double等基本類型的包裝類已實現了Comparable介面

Comparable[] c = { 4, 9, 23, 1, 45, 27, 5, 2 };

sort(c, 0, c.length – 1);

for (Comparable data : c) {

System.out.println(data);

}

}

}

真的是很服你,你把這個新建一個類放裡面

在主方法裡面這樣寫:

自己建個數組Comparable[] data,

定義參數int low, int high

QuickSort qs = new QuickSort();

qs.sort([] data, low, high);

如何用JAVA實現快速排序演算法?

本人特地給你編的代碼\x0d\x0a親測\x0d\x0a\x0d\x0apublicclassQuickSort{\x0d\x0a\x0d\x0apublicstaticintPartition(inta[],intp,intr){\x0d\x0aintx=a[r-1];\x0d\x0ainti=p-1;\x0d\x0ainttemp;\x0d\x0afor(intj=p;jif(a[j-1]//swap(a[j-1],a[i-1]);\x0d\x0ai++;\x0d\x0atemp=a[j-1];\x0d\x0aa[j-1]=a[i-1];\x0d\x0aa[i-1]=temp;\x0d\x0a\x0d\x0a}\x0d\x0a}\x0d\x0a//swap(a[r-1,a[i+1-1]);\x0d\x0atemp=a[r-1];\x0d\x0aa[r-1]=a[i+1-1];\x0d\x0aa[i+1-1]=temp;\x0d\x0a\x0d\x0areturni+1;\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0apublicstaticvoidQuickSort(inta[],intp,intr){\x0d\x0a\x0d\x0aif(p

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

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

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29

發表回復

登錄後才能評論