導航:首頁 > 編程語言 > java快排for

java快排for

發布時間:2023-03-21 17:22:07

Ⅰ 幫我寫一個快排的演算法

用什麼語言?下面是java的快排演算法。public class QuickSort { /** * 快速排序 */ public void quickSort(String[] strDate,int left,int right){ String middle,tempDate; int i,j; i=left; j=right; middle=strDate[(i+j)/2]; do{ while(strDate[i].compareTo(middle)<0&& i<right) i++; //找出左邊比中間值大的數 while(strDate[j].compareTo(middle)>0&& j>left) j--; //找出右邊比中間值小的數 if(i<=j){ //將左邊大的數和右邊小的數進行替換 tempDate=strDate[i]; strDate[i]=strDate[j]; strDate[j]=tempDate; i++; j--; } }while(i<=j); //當兩者交錯時停止 if(i<right){ quickSort(strDate,i,right);//從 } if(j>left){ quickSort(strDate,left,j); } } /** * @param args */ public static void main(String[] args){ String[] strVoid=new String[]{"11","66","22","0","55","22","0","32"}; QuickSort sort=new QuickSort(); sort.quickSort(strVoid,0,strVoid.length-1); for(int i=0;i<strVoid.length;i++){ System.out.println(strVoid[i]+" "); } } }

Ⅱ 用JAVA實現快速排序演算法

public void quickSort(int left,int right,int a[])
{
int l=left;
int r=right;
int pivot=a[(l+r)/2];//轉軸數
int temp=0;
while(l<r)
{
while(a[l]<pivot)l++;
while(a[r]>pivot)r--;

if(l>=r)break;

temp=a[l];
a[l]=a[r];
a[r]=temp;

if(a[l]==pivot)r--;
if(a[r]==pivot)l++;
}
if(l==r)
{
l++;
r--;
}
if(left<r)quickSort(left,r,a);
if(right>l)quickSort(l,right,a);
}

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

本人特地給你編的代碼x0dx0a親測{(inta[],intp,intr){x0dx0aintx=a[r-1];x0dx0ainti=p-1;x0dx0ainttemp;x0dx0afor(intj=p;j<=r-1;j++){x0dx0aif(a[j-1]<=x){x0dx0a//swap(a[j-1],a[i-1]);x0dx0ai++;x0dx0atemp=a[j-1];x0dx0aa[j-1]=a[i-1];x0dx0aa[i-1]=temp;x0dx0ax0dx0a}x0dx0a}x0dx0a//swap(a[r-1,a[i+1-1]);x0dx0atemp=a[r-1];x0dx0aa[r-1]=a[i+1-1];x0dx0aa[i+1-1]=temp;x0dx0ax0dx0areturni+1;x0dx0ax0dx0a}x0dx0ax0dx0apublicstaticvoidQuickSort(inta[],intp,intr){x0dx0ax0dx0aif(p

Ⅳ 求使用java實現的快排演算法

① 代碼:

publicclassquicksortdemo{

privateintarray[];
privateintlength;

publicvoidsort(int[]inputArr){

if(inputArr==null||inputArr.length==0){
return;
}
this.array=inputArr;
length=inputArr.length;
quickSort(0,length-1);
}

privatevoidquickSort(intlowerIndex,inthigherIndex){

inti=lowerIndex;
intj=higherIndex;
//calculatepivotnumber
intpivot=array[lowerIndex+(higherIndex-lowerIndex)/2];
//Divideintotwoarrays
while(i<=j){
while(array[i]<pivot){
i++;
}
while(array[j]>pivot){
j--;
}
if(i<=j){
swap(i,j);
i++;
j--;
}
}
//callquickSort()methodrecursively
if(lowerIndex<j)
quickSort(lowerIndex,j);
if(i<higherIndex)
quickSort(i,higherIndex);
}

privatevoidswap(inti,intj){
inttemp=array[i];
array[i]=array[j];
array[j]=temp;
}

publicstaticvoidmain(Stringa[]){

quicksortdemosorter=newquicksortdemo();
int[]input={24,2,45,20,56,75,2,56,99,53,12};
sorter.sort(input);
for(inti:input){
System.out.print(i);
System.out.print("");
}
}
}

② 運行:

c:>javaquicksortdemo
22122024455356567599

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

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

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

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

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

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

具體代碼如下:

importjava.util.Random;
publicclassDemo{
publicstaticvoidmain(String[]args){
intcount=0;
Randomrandom=newRandom();
inta[]=newint[10];
while(count<10){
a[count]=random.nextInt(1000);//產生0-999的隨機數
count++;
}
for(inti=0;i<a.length-1;i++){
intmin=i;
for(intj=i+1;j<a.length;j++){
if(a[j]<a[min]){
min=j;
}
}
if(min!=i){
intb=a[min];
a[min]=a[i];
a[i]=b;
}
}
for(intc=0;c<a.length;c++){
System.out.print(a[c]+"");
}
}
}
閱讀全文

與java快排for相關的資料

熱點內容
51單片機指令用背嗎 瀏覽:936
unityai演算法 瀏覽:834
我的世界ice伺服器如何打開pvp 瀏覽:975
c語言編程如何做標記 瀏覽:884
python數據分析實戰pdf 瀏覽:985
u盤插入文件夾 瀏覽:918
華為amd雲伺服器 瀏覽:497
漢化編程卡是什麼意思 瀏覽:128
python學習pdf 瀏覽:315
祝緒丹程序員那麼可愛拍吻戲 瀏覽:200
asp源碼會員消費系統 瀏覽:115
java反射設置 瀏覽:154
python一行文 瀏覽:441
排序演算法優缺點 瀏覽:565
惡搞加密文件pdf 瀏覽:674
gif怎麼壓縮圖片大小 瀏覽:219
命令選擇當前不可用 瀏覽:158
歐幾里得演算法如何求逆元 瀏覽:506
男中學生上課解壓神器 瀏覽:373
加密狗拔掉之後怎麼辦 瀏覽:27