java 實現四種常用排序

2021-08-16 15:54:04 字數 1663 閱讀 3257

氣泡排序演算法的運作如下:(從後往前)

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。 [1]

public static void bubbling() ;

for(int i=0;ifor(int j=0;jif(arr2[j]>arr2[j+1]) }}

system.out.println(arrays.tostring(arr2));

}①找出位於陣列中間的值,並存放在乙個變數中(為了下面的說明,變數暫時命名為temp);

②需要找到的key和temp進行比較;

③如果key值大於temp,則把陣列中間位置作為下一次計算的起點;重複① ②。

④如果key值小於temp,則把陣列中間位置作為下一次計算的終點;重複① ② ③。

⑤如果key值等於temp,則返回陣列下標,完成查詢。

public class work03 ;

int i = binsearch(nums,1);

system.out.println(i);

}public static int binsearch(int srcarray, int key)    

int start = 0;   

int end = srcarray.length - 1;   

while (start <= end) else if (key > srcarray[mid]) else    

}   

return -1;   } }

//快速

public static void fast(int arr2,int start,int end) ;

sort(arr2,start,end);

system.out.println("快速排序"+arrays.tostring(arr2));

}public static void sort(int a,int start,int end)

i=start;

j=end;

index=a[i]; // 基準值

//從表中間往兩邊掃瞄

while(i

while(i=index)

if(i

a[i]=a[j]; // 用比基準小的記錄替換低位記錄

i++;

}while(i

i++;

}if(i

a[j]=a[i];// 用比基準小的記錄替換低位記錄

j--;

}system.out.println(arrays.tostring(a));

}system.out.println("i"+i);

a[i]=index;//基準值替換回a[i]

sort(a, start, i - 1); // 對低子表進行遞迴排序

sort(a, i + 1, end); // 對高子表進行遞迴排序

}//選擇排序

int arr2 = ;

public static void xuanze(int arr2)

}if(i!=k)

}

四種常用的排序演算法

氣泡排序 法 從大到小排序 依次比較相鄰的兩個元素,通過一次比較把未排序序列中最大 或最小 的元素放置在未排序序列的末尾。public classmaopao for intm a system.out print m intt 0 for inti 0 i a.length 1 i for int...

PHP常用的四種排序

所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。排序演算法,就是如何使得記錄按照要求排列的方法。排序演算法在很多領域得到相當地重視,尤其是在大量資料的處理方面。乙個優秀的演算法可以節省大量的資源。在各個領域中考慮到資料的各種限制和規範,要得到乙個符合實際的優秀...

java四種引用

1 強引用 諸如object a new object 如果在乙個方法體內,只要方法沒結束,這個物件就不會被 2 軟引用 在將要丟擲out of memory之前首先會 已經無引用 不可達的物件。3 弱引用 在gc時,就會 已經無引用 不可達的物件。4 虛引用 任何時候可能被 好像一般用來跟蹤物件 ...