久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 編程 > Java > 正文

常用Java排序算法詳解

2020-01-31 16:50:29
字體:
來源:轉載
供稿:網友

一、選擇排序(SelectSort)

基本原理:對于給定的一組記錄,經過第一輪比較后得到最小的記錄,然后將該記錄與第一個記錄的位置進行交換;接著對不包括第一個記錄以外的其他記錄進行第二次比較,得到最小的記錄并與第二個記錄進行位置交換;重復該過程,直到進行比較的記錄只有一個為止。

public class SelectSort { public static void selectSort(int[] array) { int i; int j; int temp; int flag; for (i = 0; i < array.length; i++) { temp = array[i]; flag = i; for (j = i + 1; j < array.length; j++) { if (array[j] < temp) {  temp = array[j];  flag = j; } } if (flag != i) { array[flag] = array[i]; array[i] = temp; } } } public static void main(String[] args) { int[] a = { 5, 1, 9, 6, 7, 2, 8, 4, 3 }; selectSort(a); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } }}

二、插入排序(InsertSort)

基本原理:對于給定的一組數據,初始時假設第一個記錄自成一個有序序列,其余記錄為無序序列。接著從第二個記錄開始,按照記錄的大小依次將當前處理的記錄插入到其之前的有序序列中,直至最后一個記錄插入到有序序列中為止。

public class InsertSort { public static void insertSort(int[] a) { if (a != null) { for (int i = 1; i < a.length; i++) { int temp = a[i]; int j = i; if (a[j - 1] > temp) {  while (j >= 1 && a[j - 1] > temp) {  a[j] = a[j - 1];  j--;  } } a[j] = temp; } } } public static void main(String[] args) { int[] a = { 5, 1, 7, 2, 8, 4, 3, 9, 6 }; // int[] a =null; insertSort(a); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } }}

三、冒泡排序(BubbleSort)

基本原理:對于給定的n個記錄,從第一個記錄開始依次對相鄰的兩個記錄進行比較,當前面的記錄大于后面的記錄時,交換位置,進行一輪比較和換位后,n個記錄中的最大記錄將位于第n位;然后對前(n-1)個記錄進行第二輪比較;重復該過程直到進行比較的記錄只剩下一個為止。

public class BubbleSort { public static void bubbleSort(int array[]) { int temp = 0; int n = array.length; for (int i = n - 1; i >= 0; i--) { for (int j = 0; j < i; j++) { if (array[j] > array[j + 1]) {  temp = array[j];  array[j] = array[j + 1];  array[j + 1] = temp; } } } } public static void main(String[] args) { int a[] = { 45, 1, 21, 17, 69, 99, 32 }; bubbleSort(a); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } }}

四、歸并排序(MergeSort)

基本原理:利用遞歸與分治技術將數據序列劃分成為越來越小的半子表,再對半子表排序,最后再用遞歸方法將排好序的半子表合并成為越來越大的有序序列。對于給定的一組記錄(假設共有n個記錄),首先將每兩個相鄰的長度為1的子序列進行歸并,得到n/2(向上取整)個長度為2或1的有序子序列,再將其兩兩歸并,反復執行此過程,直到得到一個有序序列。

public class MergeSort { public static void merge(int array[], int p, int q, int r) { int i, j, k, n1, n2; n1 = q - p + 1; n2 = r - q; int[] L = new int[n1]; int[] R = new int[n2]; for (i = 0, k = p; i < n1; i++, k++) L[i] = array[k]; for (i = 0, k = q + 1; i < n2; i++, k++) R[i] = array[k]; for (k = p, i = 0, j = 0; i < n1 && j < n2; k++) { if (L[i] > R[j]) { array[k] = L[i]; i++; } else { array[k] = R[j]; j++; } } if (i < n1) { for (j = i; j < n1; j++, k++) array[k] = L[j]; } if (j < n2) { for (i = j; i < n2; i++, k++) { array[k] = R[i]; } } } public static void mergeSort(int array[], int p, int r) { if (p < r) { int q = (p + r) / 2; mergeSort(array, p, q); mergeSort(array, q + 1, r); merge(array, p, q, r); } } public static void main(String[] args) { int a[] = { 5, 4, 9, 8, 7, 6, 0, 1, 3, 2 }; mergeSort(a, 0, a.length - 1); for (int j = 0; j < a.length; j++) { System.out.print(a[j] + " "); } }}

五、快速排序(QuickSort)

基本原理:對于一組給定的記錄,通過一趟排序后,將原序列分為兩部分,其中前一部分的所有記錄均比后一部分的所有記錄小,然后再依次對前后兩部分的記錄進行快速排序,遞歸該過程,直到序列中的所有記錄均有序為止。

public class QuickSort { public static void sort(int array[], int low, int high) { int i, j; int index; if (low >= high) return; i = low; j = high; index = array[i]; while (i < j) { while (i < j && index <= array[j]) j--; if (i < j) array[i++] = array[j]; while (i < j && index > array[i]) i++; if (i < j) array[j--] = array[i]; } array[i] = index; sort(array, low, i - 1); sort(array, i + 1, high); } public static void quickSort(int array[]) { sort(array, 0, array.length - 1); } public static void main(String[] args) { int a[] = { 5, 8, 4, 6, 7, 1, 3, 9, 2 }; quickSort(a); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } }}

六、希爾排序(ShellSort)

基本原理:先將待排序的數組元素分成多個子序列,使得每個子序列的元素個數相對減少,然后對各個子序列分別進行直接插入排序,待整個待排序序列"基本有序后",最后再對所有元素進行一次直接插入排序。

public class ShellSort { public static void shellSort(int[] a) { int len = a.length; int i, j; int h; int temp; for (h = len / 2; h > 0; h = h / 2) { for (i = h; i < len; i++) { temp = a[i]; for (j = i - h; j >= 0; j -= h) {  if (temp < a[j]) {  a[j + h] = a[j];  } else  break; } a[j + h] = temp; } } } public static void main(String[] args) { int a[] = { 5, 4, 9, 8, 7, 6, 0, 1, 3, 2 }; shellSort(a); for (int j = 0; j < a.length; j++) { System.out.print(a[j] + " "); } }}

七、最小堆排序(MinHeapSort)

基本原理:對于給定的n個記錄,初始時把這些記錄看作一顆順序存儲的二叉樹,然后將其調整為一個小頂堆,然后將堆的最后一個元素與堆頂元素進行交換后,堆的最后一個元素即為最小記錄;接著講前(n-1)個元素重新調整為一個小頂堆,再將堆頂元素與當前堆的最后一個元素進行交換后得到次小的記錄,重復該過程直到調整的堆中只剩一個元素時為止,該元素即為最大記錄,此時可得到一個有序序列。

public class MinHeapSort { public static void adjustMinHeap(int[] a, int pos, int len) { int temp; int child; for (temp = a[pos]; 2 * pos + 1 <= len; pos = child) { child = 2 * pos + 1; if (child < len && a[child] > a[child + 1]) child++; if (a[child] < temp) a[pos] = a[child]; else break; } a[pos] = temp; } public static void myMinHeapSort(int[] array) { int i; int len = array.length; for (i = len / 2 - 1; i >= 0; i--) { adjustMinHeap(array, i, len - 1); } for (i = len - 1; i >= 0; i--) { int tmp = array[0]; array[0] = array[i]; array[i] = tmp; adjustMinHeap(array, 0, i - 1); } } public static void main(String[] args) { int[] a = { 5, 4, 9, 8, 7, 6, 0, 1, 3, 2 }; myMinHeapSort(a); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } }}

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
成人黄色一级大片| 国产精品特级毛片一区二区三区| 自拍视频一区二区| 国产精品玖玖玖| 无码人妻丰满熟妇区96| 日韩av免费播放| 91麻豆精品国产91久久久| 成人美女av在线直播| 久久久精品在线视频| 久久伊人蜜桃av一区二区| 日本高清成人免费播放| 午夜精品一区二区在线观看的 | 日韩一级精品视频在线观看| 一区二区三区91| 国产一区二区三区免费观看| 狠狠狠狠狠狠狠| 久久只有这里有精品| 免费看国产黄色片| 亚洲不卡中文字幕无码| 国产盗摄视频在线观看| 日韩欧美一区二区三区四区| 久久精品中文字幕一区二区三区| 国产免费观看久久黄| 色综合导航网站| 久久视频在线播放| 久久亚洲一区二区三区四区五区高| 日韩免费福利电影在线观看| 日韩一区二区三区四区五区六区| 在线观看精品一区| 欧美日韩激情一区二区三区| 在线免费亚洲电影| 欧美日韩国产色站一区二区三区| 欧美精品video| 免费欧美在线视频| 久久久综合网| 亚洲av成人无码久久精品老人 | 久久成人综合视频| 插插插亚洲综合网| 久久久久久亚洲精品中文字幕| 欧美成人剧情片在线观看| 久久亚洲一区二区三区四区五区高 | 成人午夜视频福利| 韩国成人精品a∨在线观看| 久久精品国产99国产| 国产成人免费在线观看不卡| 国产a久久麻豆| 99久久er热在这里只有精品66| 成人免费毛片aaaaa**| 国产乱一区二区| 久久你懂得1024| 欧美视频自拍偷拍| 野战少妇38p| 亚洲性av在线| 国产午夜精品免费一区二区三区| 精品中文字幕久久久久久| 日韩精品免费在线| 日韩中文在线视频| 国产成人精品一区| 91美女片黄在线观| 奇米影视首页 狠狠色丁香婷婷久久综合| 久久久综合香蕉尹人综合网 | 性欧美18一19性猛交| 香蕉视频成人在线| 国产成人综合在线观看| 国产亚洲综合色| 狠狠做深爱婷婷久久综合一区| 欧美日韩视频在线第一区| 亚洲精品ady| 久久99亚洲精品| a级国产乱理论片在线观看99| 在线观看免费91| 日韩中文字幕a| 视频国产一区二区| 99久久亚洲精品日本无码| 国产精品自拍三区| 亚洲欧美激情插| 精品久久久久久久人人人人传媒| 欧美第一黄色网| 国产成人精品一区二区三区福利| 香港三级日本三级a视频| 蜜臀aⅴ国产精品久久久国产老师| 日韩福利小视频| 欧美一级特黄aaaaaa大片在线观看| 国产盗摄视频一区二区三区| 亚洲精品视频一区| 日韩高清不卡av| 成人xxxx视频| 国产69精品久久久久999小说| 日本少妇xxxx| 亚洲一区 中文字幕| 处破女av一区二区| 一本色道久久综合亚洲aⅴ蜜桃| 国产午夜精品一区二区三区 | 精品国产伦一区二区三区免费| 色七七影院综合| 国内不卡一区二区三区| 婷婷丁香激情网| 精品国产乱码久久久久久鸭王1| 精品人妻av一区二区三区| 91在线免费播放| 欧美一区二区三区在| 欧美一区二区大胆人体摄影专业网站| 一区二区三区免费看| 一区二区三区免费在线观看视频| 国产不卡av在线播放| 亚洲欧洲精品一区二区三区| 亚洲欧美日韩中文在线制服| 成人免费在线一区二区三区| 五月天视频在线观看| 欧美一区二区三区久久久| 成人动漫视频在线| 精品久久国产老人久久综合| 91久久精品国产91久久性色| av噜噜在线观看| 一区二区视频播放| 亚洲人成伊人成综合网小说| 中文字幕日韩精品在线| 欧美日韩精品久久久免费观看| 久久久久亚洲av片无码v| 国产xxxx孕妇| 精品国产91久久久| 欧美亚洲国产日本| 亚洲最大综合网| 国产精品自拍电影| 精品国产91久久久| 国产欧美久久久久久| 久久久久国产免费| 麻豆国产91在线播放| 91精品国产福利| 久久精品二区| 日本在线一级片| 91一区二区在线| 中文字幕在线亚洲| av在线播放亚洲| 伊人久久久久久久久久久久| 依依成人综合视频| 日韩免费观看高清| 日本xxxx免费| 久久电影网站中文字幕| 亚洲精品一区二区三区蜜桃下载 | 国产又粗又猛又爽又黄av| 人人狠狠综合久久亚洲| 精品福利av导航| 在线成人性视频| 日韩精品久久久久久免费| 亚洲人午夜精品天堂一二香蕉| 性色av一区二区三区红粉影视| 婷婷激情四射五月天| 色网站免费观看| 精品国产乱码久久久久久免费| 天堂av一区二区| 天天综合网入口| 一级日本不卡的影视| 国产精品27p| 亚洲理论片在线观看| 久久免费美女视频| 国产精品扒开腿做| 久久久久久久久久久久| 国产精品青草综合久久久久99| 欧美性资源免费| 无码人妻一区二区三区精品视频| 久久国产剧场电影| 久久av中文字幕| 99国产精品免费视频| 国产成人在线看| 午夜视频一区二区| 国产欧美一区二区视频| 日本免费观看视| 天天做天天摸天天爽国产一区| 国产精品一区二区欧美| 日本熟伦人妇xxxx| 色悠悠久久综合| 一区二区三区四区国产| 国产福利第一页| 亚洲欧美精品伊人久久| 中文字幕第100页| 成人福利视频网站| 国产美女精品视频免费观看| 国产大片免费看| 在线精品观看国产| 欧美a级免费视频| 日韩av午夜在线观看| 久久视频这里只有精品| 中文字幕99页| 亚洲日本va午夜在线影院| 久久99九九| www.蜜臀av| 日韩三级影视基地| 大地资源二中文在线影视观看 | 久久一区二区三区av| 天干夜夜爽爽日日日日| 日韩手机在线导航| 网站一区二区三区| 中文字幕 久热精品 视频在线| 91沈先生作品| 男人的天堂av网站| 夜夜嗨av一区二区三区四区| 国产亚洲色婷婷久久99精品91| 一区免费观看视频| 亚洲精品tv久久久久久久久| 三级成人在线视频| 欧美亚洲国产成人精品| 欧美bbbbbbbbbbbb精品| 亚洲精品国产精品国产自| 亚洲精品一区二区18漫画| 综合激情成人伊人| 大桥未久一区二区| 国产一本一道久久香蕉| 91黄在线观看| 囯产精品一品二区三区| 亚洲91av视频| 国产尤物在线视频| 中文字幕少妇一区二区三区| 综合 欧美 亚洲日本| 91精品中文字幕一区二区三区| 国产女同无遮挡互慰高潮91| 一区二区三区中文字幕| 成人免费视频91| 国产欧美一区二区精品婷婷| 亚洲7777| 99国产欧美另类久久久精品| 欧美一区二区视频17c| 麻豆精品蜜桃视频网站| 国产 高清 精品 在线 a| 国产自产一区二区| 国产精品久久久久久久app| 国产成人精品毛片| 国产精品久久9| 可以免费观看的毛片| 国产成人+综合亚洲+天堂| 国产裸体永久免费无遮挡| 91精品国产高清久久久久久| 亚洲天堂网在线观看视频| 国内精品久久久久久影视8| 中文字幕在线观看高清| 欧美亚洲激情在线| 国产情侣一区二区| 亚洲a级在线观看| 青青草97国产精品免费观看 | 国语对白在线播放| 一二美女精品欧洲| 国产精品人人人人| 欧美性视频网站| 天堂在线视频网站| 国产免费高清一区| 懂色一区二区三区免费观看| 中文字幕av久久| 中文字幕日韩一区二区| 久久精品网站视频| 色哦色哦哦色天天综合| asian性开放少妇pics| 日韩精品在线观看一区二区| 日韩乱码人妻无码中文字幕| 97久久精品在线| 性欧美18一19性猛交| 国产综合动作在线观看| 久久精品夜夜夜夜久久| 99999精品视频| 在线一区二区三区四区五区| 亚洲性猛交xxxx乱大交| 久久精品这里热有精品| 欧美一级视频免费| 日韩免费中文专区| 亚洲欧美激情插 | www.av免费| 色与欲影视天天看综合网| 国产综合视频在线| 日本在线成人一区二区| 成人欧美一区二区三区| 一级全黄裸体片| 亚洲免费一在线| 国产又大又长又粗| 精品国产一区二区三区日日嗨| 久久精品亚洲精品国产欧美| jizz18女人| 精品无人区太爽高潮在线播放| 中文字幕无码乱码人妻日韩精品| 成人免费大片黄在线播放| jvid福利写真一区二区三区| 日韩a在线播放| 欧美sm极限捆绑bd| 亚洲综合免费视频| 日本在线成人一区二区| 欧美日韩国产一区二区| 欧美日韩在线视频免费| 国产日韩欧美视频| 中文字幕第一区| 国产精品密蕾丝袜| 欧美在线视频观看免费网站| 懂色中文一区二区在线播放| 天堂中文av在线| xvideos成人免费中文版| 天堂一区二区在线免费观看| 妺妺窝人体色www看人体| 欧美日本一道本| 中文字幕免费观看视频| 久久久久综合一区二区三区| 亚洲国产日韩精品| 久久精品国产亚洲AV熟女| 午夜欧美不卡精品aaaaa| 99久久国产综合精品女不卡| 你懂得在线视频| 韩国日本不卡在线| 成人一区二区视频| 中文在线永久免费观看| 久久免费少妇高潮久久精品99| 粉嫩av亚洲一区二区图片| 男人的天堂影院| 日产精品久久久一区二区福利| 久久综合色婷婷| 国产wwwwxxxx| 国产精品免费区二区三区观看 | 91gao视频| 亚洲一区二区三区自拍| 国产午夜性春猛交ⅹxxx| 婷婷四房综合激情五月| 日韩欧美国产wwwww| 日本欧洲一区二区| 绯色av蜜臀vs少妇| 国产成人亚洲综合青青| 亚洲精品自拍动漫在线| 国产精品国产三级国产专区52| 亚洲图片在线观看| 亚洲男人第一网站| 成人午夜激情影院| 久久久久久久毛片| 久久亚洲精品欧美| 精品国产伦一区二区三区免费| 蜜臀av性久久久久蜜臀av麻豆| 亚洲美女精品视频| 91网站免费看| 欧美日本在线播放| 美女性感视频久久| 国产视频久久久久久| 成人久久久久久久| 欧美视频一区在线观看| 狂野欧美一区| 久久性爱视频网站| 国产日韩欧美一区二区| 精品久久一区二区三区| 国产老女人精品毛片久久| 麻豆一区在线观看| 天堂av免费看| 欧美极品少妇xxxxⅹ免费视频| 亚洲品质自拍视频| www.国产三级| 国产黑丝一区二区| 久久综合入口| 亚洲视频在线看| 欧美国产精品中文字幕| 国产美女www| 亚洲一级片av| 精品久久久久久一区二区里番| 亚洲国内精品在线| 日本一区二区综合亚洲| 中国女人真人一级毛片| 欧美性受xxxx黒人xyx性爽| 91久久久久久| 日韩大陆毛片av| 国产精品国产自产拍高清av王其 | www.超碰在线观看| 菠萝蜜视频在线观看入口| 国内外成人免费激情在线视频 | 亚洲天天做日日做天天谢日日欢| 成人黄色免费网| 成人三级做爰av| 日韩精品一线二线三线| 久久影视电视剧免费网站| 亚洲制服丝袜av| 亚洲av成人无码网天堂| www.黄色com| 播放灌醉水嫩大学生国内精品| 国产精品免费电影| 亚洲精品按摩视频| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美日韩在线播放三区| 国产jizzjizz一区二区| 精品免费囯产一区二区三区| 欧美熟妇精品一区二区| 亚洲欧美国产一区二区| 69久久夜色精品国产69| 欧美成人性福生活免费看| 国产精品久久久久aaaa| 香蕉视频免费在线看| 久久久久久国产精品免费播放| 男女啪啪网站视频| 日韩亚洲不卡在线| 国产精品国产亚洲伊人久久| 日韩精品免费在线视频观看| 亚洲一区二区3| 成人免费福利片| 成人爽a毛片一区二区| 欧美偷拍第一页| 三大队在线观看| 欧美一级欧美一级| 九9re精品视频在线观看re6| 午夜免费日韩视频| 亚洲欧美国产视频| 制服丝袜亚洲色图| 亚洲图片欧美一区| 91年精品国产| 日本成人中文字幕在线视频| 秋霞av一区二区三区| 小向美奈子av| 99久久久无码国产精品性波多 | 国产男男gay体育生白袜| 91在线播放观看| 国产精品无码一区二区三区免费| 不卡影院一区二区| 50度灰在线观看|