新聞中心
java 數(shù)組順序排列
首先,API里面寫了: Sorts the specified array of ints into ascending numerical order.
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了朝天免費(fèi)建站歡迎大家使用!
就是這是個(gè)升序!
其次,你這個(gè)運(yùn)行應(yīng)該不會(huì)報(bào)錯(cuò),輸出的會(huì)是 數(shù)組地址,因?yàn)閿?shù)組在java里面是一個(gè)對(duì)象,如果要看排序的結(jié)果,需要遍歷下:
比如
for(int i:arr){
System.out.println(i);
}
Java數(shù)組排序 幾種排序方法詳細(xì)一點(diǎn)
JAVA中在運(yùn)用數(shù)組進(jìn)行排序功能時(shí),一般有四種方法:快速排序法、冒泡法、選擇排序法、插入排序法。
快速排序法主要是運(yùn)用了Arrays中的一個(gè)方法Arrays.sort()實(shí)現(xiàn)。
冒泡法是運(yùn)用遍歷數(shù)組進(jìn)行比較,通過不斷的比較將最小值或者最大值一個(gè)一個(gè)的遍歷出來。
選擇排序法是將數(shù)組的第一個(gè)數(shù)據(jù)作為最大或者最小的值,然后通過比較循環(huán),輸出有序的數(shù)組。
插入排序是選擇一個(gè)數(shù)組中的數(shù)據(jù),通過不斷的插入比較最后進(jìn)行排序。下面我就將他們的實(shí)現(xiàn)方法一一詳解供大家參考。
1利用Arrays帶有的排序方法快速排序
public?class?Test2{???
public?static?void?main(String[]?args){???
int[]?a={5,4,2,4,9,1};???
Arrays.sort(a);??//進(jìn)行排序???
for(int?i:?a){???
System.out.print(i);???
}??
}??
}
2冒泡排序算法
public?static?int[]?bubbleSort(int[]?args){//冒泡排序算法???
for(int?i=0;iargs.length-1;i++){???
for(int?j=i+1;jargs.length;j++){???
if?(args[i]args[j]){???
int?temp=args[i];???
args[i]=args[j];???
args[j]=temp;???
}???
}??
}??
return?args;??
}
3選擇排序算法
public?static?int[]?selectSort(int[]?args){//選擇排序算法???
for?(int?i=0;iargs.length-1?;i++?){???
int?min=i;???
for?(int?j=i+1;jargs.length?;j++?){???
if?(args[min]args[j]){???
min=j;???
}???
}???
if?(min!=i){??
int?temp=args[i];??
args[i]=args[min];??
args[min]=temp;??????????
}??
}??
return?args;??
}
4插入排序算法
public?static?int[]?insertSort(int[]?args){//插入排序算法???
for(int?i=1;iargs.length;i++){???
for(int?j=i;j0;j--){???
if?(args[j]args[j-1]){???
int?temp=args[j-1];??
args[j-1]=args[j];??
args[j]=temp;??????????
}else?break;???
}??
}??
return?args;??
}
如何用JAVA實(shí)現(xiàn)快速排序算法?
本人特地給你編的代碼\x0d\x0a親測(cè)\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
java怎么讓數(shù)組的數(shù)字從大到小排序?
將數(shù)字從大到小排序的方法:
例如簡(jiǎn)一點(diǎn)的冒泡排序,將第一個(gè)數(shù)字和后面的數(shù)字逐個(gè)比較大小,如果小于,則互換位置,大于則不動(dòng)。此時(shí),第一個(gè)數(shù)為數(shù)組中的最大數(shù)。然后再將第二個(gè)數(shù)與后面的數(shù)逐個(gè)比較,以次類推。
示例代碼如下:?
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; //?兩個(gè)數(shù)交換位置?
}?
}?
}?
for?(int?i?=?0;?i??array.length;?i++)?{?
System.out.print(array[i]+"??");?
}?
}?
}
數(shù)組對(duì)于每一門編程語言來說都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當(dāng)然不同語言對(duì)數(shù)組的實(shí)現(xiàn)及處理也不盡相同。
Java 語言中提供的數(shù)組是用來存儲(chǔ)固定大小的同類型元素。
你可以聲明一個(gè)數(shù)組變量,如 numbers[100] 來代替直接聲明 100 個(gè)獨(dú)立變量 number0,number1,....,number99
擴(kuò)展資料
Java中利用數(shù)組進(jìn)行數(shù)字排序一般有4種方法:
1、選擇排序是先將數(shù)組中的第一個(gè)數(shù)作為最大或最小數(shù),然后通過循環(huán)比較交換最大數(shù)或最小數(shù)與一輪比較中第一個(gè)數(shù)位置進(jìn)行排序。
2、冒泡排序也是先將數(shù)組中的第一個(gè)數(shù)作為最大或最小數(shù),循環(huán)比較相鄰兩個(gè)數(shù)的大小,滿足條件就互換位置,將最大數(shù)或最小數(shù)沉底。
3、快速排序法主要是運(yùn)用Arrays類中的Arrays.sort方法()實(shí)現(xiàn)。
4、插入排序是選擇一個(gè)數(shù)組中的數(shù)據(jù),通過不斷的插入比較最后進(jìn)行排序。
用java寫 定義一個(gè)數(shù)組 將它們從小到大排列
最佳答案:冒泡排序算法。一下為C#語言例子:
int temp = 0;
int[] arr = { 23, 44, 66, 76, 98, 11, 3, 9, 7 };
Console.WriteLine("排序前的數(shù)組:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
for (int i = 0; i arr.Length-1; i++)
{
for (int j = 0; j arr.Length-1-i; j++)
{
if (arr[j+1] arr[j])
{
temp = arr[j+1];arr[j+1] = arr[j];arr[j] = temp; }
}
}
Console.WriteLine("排序后的數(shù)組:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
Console.ReadKey();
}
請(qǐng)問一下java快速排序源代碼
快速排序:
package org.rut.util.algorithm.support;
import org.rut.util.algorithm.SortUtil;
/**
* @author treeroot
* @since 2006-2-2
* @version 1.0
*/
public class QuickSort implements SortUtil.Sort{
/* (non-Javadoc)
* @see org.rut.util.algorithm.SortUtil.Sort#sort(int[])
*/
public void sort(int[] data) {
quickSort(data,0,data.length-1);
}
private void quickSort(int[] data,int i,int j){
int pivotIndex=(i+j)/2;
//swap
SortUtil.swap(data,pivotIndex,j);
int k=partition(data,i-1,j,data[j]);
SortUtil.swap(data,k,j);
if((k-i)1) quickSort(data,i,k-1);
if((j-k)1) quickSort(data,k+1,j);
}
/**
* @param data
* @param i
* @param j
* @return
*/
private int partition(int[] data, int l, int r,int pivot) {
do{
while(data[++l]pivot);
while((r!=0)data[--r]pivot);
SortUtil.swap(data,l,r);
}
while(lr);
SortUtil.swap(data,l,r);
return l;
}
}
改進(jìn)后的快速排序:
package org.rut.util.algorithm.support;
import org.rut.util.algorithm.SortUtil;
/**
* @author treeroot
* @since 2006-2-2
* @version 1.0
*/
public class ImprovedQuickSort implements SortUtil.Sort {
private static int MAX_STACK_SIZE=4096;
private static int THRESHOLD=10;
/* (non-Javadoc)
* @see org.rut.util.algorithm.SortUtil.Sort#sort(int[])
*/
public void sort(int[] data) {
int[] stack=new int[MAX_STACK_SIZE];
int top=-1;
int pivot;
int pivotIndex,l,r;
stack[++top]=0;
stack[++top]=data.length-1;
while(top0){
int j=stack[top--];
int i=stack[top--];
pivotIndex=(i+j)/2;
pivot=data[pivotIndex];
SortUtil.swap(data,pivotIndex,j);
//partition
l=i-1;
r=j;
do{
while(data[++l]pivot);
while((r!=0)(data[--r]pivot));
SortUtil.swap(data,l,r);
}
while(lr);
SortUtil.swap(data,l,r);
SortUtil.swap(data,l,j);
if((l-i)THRESHOLD){
stack[++top]=i;
stack[++top]=l-1;
}
if((j-l)THRESHOLD){
stack[++top]=l+1;
stack[++top]=j;
}
}
//new InsertSort().sort(data);
insertSort(data);
}
/**
* @param data
*/
private void insertSort(int[] data) {
int temp;
for(int i=1;idata.length;i++){
for(int j=i;(j0)(data[j]data[j-1]);j--){
SortUtil.swap(data,j,j-1);
}
}
}
}
當(dāng)前標(biāo)題:java數(shù)組快速排序代碼 java代碼實(shí)現(xiàn)數(shù)組順序排列
分享網(wǎng)址:http://www.dlmjj.cn/article/docdjej.html