public class sort
//因為最後結束的時候,j又被剪了一次,所以j要加1
// 插入
array[j + 1] = temp;
} }// 氣泡排序
public void bubblesort(int array, int length)
}} }
// 直接選擇排序
public void selectsort(int array, int length)
}// 互換
if (min != i)
} }// 快速排序之分組
public int partition(int array, int low, int high)
array[low] = pivot;
return low;
} // 快速排序
public void quicksort(int array, int low, int high)
} public void buildmaxheap(int array)
} //建立大頂堆的過程
private void maxheap(int array, int length, int i)
if (right < length && array[right] > array[largest])
// 大的換上去
if (i != largest)
} // 堆排序
public void heapsort(int array)
} //希爾排序
public void shellsort(int array)
array[k+increment] = temp;}}
}} }
//排序
public int sort(int array,int low,int high)
//歸併
public void merge(int array,int low,int mid,int high) else
} while(i<= mid)
while(j<= high)
for(int m = 0;mdes)else
return mid;
} return -1;
}}
面試常用演算法之排序
1 氣泡排序 bubblesort 氣泡排序是每次將亂序中的最大的數字通過兩兩交換的方式往後移動,直到序列有序為止。猶如水中的氣泡從下往上浮時,越來越大。該演算法共執行了n趟,每趟執行n i次比較,所以其複雜度為o n 2 基本的氣泡排序演算法程式如下所示 氣泡排序 void bubblesort ...
面試中常用的演算法 排序
學習演算法的好處 學習演算法的過程其實是乙個提高思維能力的過程。基本的排序演算法 簡單直接幫助迅速寫出沒有bug的 氣泡排序 bubble sort 插入排序 insertion sort 常考的排序演算法 解決絕大部分設計排序問題的關鍵 歸併排序 merge sort 快速排序 quick sor...
面試常用演算法總結 排序演算法(java版)
排序演算法 重要性不言而喻,很多演算法問題往往選擇乙個好的排序演算法往往問題可以迎刃而解 氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經...