Java排序算法
java操作中常見的排序方法有:冒泡排序、快速排序、選擇排序、插入排序、希爾排序,甚至還有基數排序、雞尾酒排序、桶排序、鴿巢排序、歸併排序等。下面是小編為大家搜索整理的Java排序算法,希望大家能有所收穫,更多精彩內容請及時關注我們應屆畢業生考試網!
1,冒泡法
public class BubbleSortImpl1 {
public static void BubbleSort(int A[]) {
int n = th;
for(int i=0;i
for(int j=0;j
if(A[j]>A[j+1])
{
int temp=A[j];
A[j]=A[j+1];
A[j+1]=temp;//直接調用Swap會出錯。why?
}
}
}
}
public static void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int A[] = new int[] { 2, 5, 3, 9, 7, 1, 30 };
BubbleSort(A);
for (int i = 0; i < th; i++) {
tln(A[i]);
}
}
}
2,堆排序
public class HeapSort {
static void HeapAdjust(int H[],int s,int n){//使H[s...m]稱為一個大頂堆
int rc=H[s];
int j;
for(j=2*s;j<=n;j=j*2){
if(j
++j;//j為父節點的`最大孩子
if(rc>=H[j])
break;//rc應該摻入在j的父位置上
H[s]=H[j];//j上移
s=j;
}
H[s]=rc;
}
static void Heap_Sort(int H[]){
int n=th;
for(int i=n/2;i>0;i--){
HeapAdjust(H,i,n);
}//
for(int k=n-1;k>1;k--){
int temp=H[1];
H[1]=H[k];
H[k]=temp;//將堆頂記錄和 當前未經排序子序列中最後一個記錄交換。
HeapAdjust(H,1,k-1);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int A[]={0,3,5,9,2,7};
Heap_Sort(A);
for(int i=0;i
t(A[i]);
}
}
3,插入排序
public class InsertSortImpl {
/**
* @param args
*/
public static void InsertSort(int A[]) {
int n = th;
for (int i = 0; i < n-1; i++) {
int temp = A[i+1];
Insert(A, temp, i );
}
}
public static void Insert(int A[], int e, int k) {// 對A[1...k]排序
while(k>=0&&A[k]>e){
A[k+1]=A[k];
k--;
}
A[k+1]=e;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int A[] = new int[] { 2, 5, 3, 9, 7, 1, 30,6 };
InsertSort(A);
for (int i = 0; i < th; i++) {
tln(A[i]);
}
}
}
-
Java Class文件是什麼
Class類是在Java語言中定義一個特定類的實現。一個類的定義包含成員變量,成員方法,還有這個類實現的接口,以及這個類的父類。Class類的對象用於表示當前運行的Java應用程序中的類和接口。比如:每個數組均屬於一個Class類對象,所有具有相同元素類型和維數的數組共享...
-
java面試自我介紹範文
引導語:Java面試自我介紹應以突顯自我能力為主,表現出與眾不同的才幹和學識。以下是本站小編分享給大家的2017java面試自我介紹範文,歡迎閲讀!範文一我叫趙,我的同學更都喜歡稱呼我的英文名字,叫,六月的意思,是君的諧音。我來自安徽的市,在21年我以市全市第一名的成績...
-
java的nio的使用示例分享
在jdk1.4中提出的技術,非阻塞IO,採用的是基於事件處理方式。傳統的io技術為阻塞的`,比如讀一個文件,惹read方法是阻塞的,直到有數據讀入。歸納為:1、javaio為阻塞,在打開一個io通道後,read將一直等待在端口一邊讀取字節內容,如果沒有內容進來,read相當於阻塞掉了。2、在1...
-
Java 異步回調機制實例解析
回調,回調。要先有調用,才有調用者和被調用者之間的回調。下面小編給大家介紹Java異步回調機制實例解析,歡迎閲讀!Java異步回調機制實例解析一、什麼是回調軟件模塊之間總是存在着一定的接口,從調用方式上,可以把他們分為三類:同步調用、回調和異步調用。回調是一種...