排序演算法 - 氣泡排序和選擇排序
氣泡排序的基本思想就是:從無序序列頭部開始,進行兩兩比較,根據大小交換位置,直到最後將最大(小)的資料元素交換到了無序佇列的隊尾,從而成為有序序列的一部分;下一次繼續這個過程,直到所有資料元素都排好序。即每次通過兩兩比較交換位置,選出剩餘無序序列裡最大(小)的資料元素放到隊尾。
package com.zx.sort;
import java.util.Arrays;
public class Bubble {
public static void main(String[] args) {
int[] a={9,5,3,7,9,10,2,66,4};
sort(a);
System.out.println(Arrays.toString(a));
}
public static void sort(int[] a){
for (int i = 0; i < a.length-1; i++) {
for (int j = 0; j < a.length-i-1; j++) {
if (a[j] > a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
}
選擇排序的思想:第一趟從n個元素的資料序列中選出關鍵字最小/大的元素並放在最前/後位置,下一趟從n-1個元素中選出最小/大的元素並放在最前/後位置。以此類推,經過n-1趟完成排序。
import java.util.Arrays;
public class Selection {
public static void main(String[] args) {
int[] a = {9,1,3,7,2,10,6};
sort(a);
System.out.println(Arrays.toString(a));
}
public static void sort(int[] a){
for (int i = 0; i < a.length; i++) {
for (int j = i+1; j < a.length; j++) {
if(a[i] > a[j]){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
}
氣泡排序和選擇排序的區別: 氣泡排序是通過相鄰兩個數的比較每次排出最大的一個數到隊首或隊尾。 快速排序是通過當前位置與之後的每一個數比較選出有序情況下適合放在該位置的數。
相關文章
- 選擇排序和氣泡排序排序
- 氣泡排序和選擇排序詳解排序
- 氣泡排序和選擇排序流程圖排序流程圖
- 氣泡排序與選擇排序排序
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- php實現 氣泡排序,插入排序,選擇排序PHP排序
- 【JS面試向】選擇排序、桶排序、氣泡排序和快速排序簡介JS面試排序
- PHP 常見4種排序 氣泡排序、選擇排序、插入排序、快速排序PHP排序
- 排序演算法--氣泡排序排序演算法
- 排序演算法__氣泡排序排序演算法
- 排序演算法–氣泡排序排序演算法
- 【小小前端】前端排序演算法第一期(氣泡排序、選擇排序、插入排序)前端排序演算法
- 重學資料結構和演算法(四)之氣泡排序、插入排序、選擇排序資料結構演算法排序
- 排序——氣泡排序排序
- 氣泡排序與選擇排序超詳細講解排序
- 排序:氣泡排序&快速排序排序
- 經常提及的幾個js排序方法(氣泡排序、選擇排序、計數排序)JS排序
- Java排序演算法之氣泡排序Java排序演算法
- 9. 氣泡排序,以及如何優化氣泡排序,氣泡排序屬於插入排序排序優化
- Python八大演算法的實現,插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、堆排序、歸併排序、基數排序。Python演算法排序
- 氣泡排序演算法排序演算法
- 氣泡排序排序
- Go實現氣泡排序和快速排序Go排序
- Java實現氣泡排序和插入排序演算法Java排序演算法
- 選擇和氣泡排序核心程式碼及流程圖排序流程圖
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- 【排序演算法動畫解】排序介紹及氣泡排序排序演算法動畫
- 深入淺出的排序演算法-氣泡排序排序演算法
- 演算法(氣泡排序,快排,歸併排序)演算法排序
- 【排序】氣泡排序(待補充)排序
- 排序演算法:選擇排序排序演算法
- 排序演算法__選擇排序排序演算法
- go 實現氣泡排序和插入排序Go排序
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- Python 氣泡排序Python排序
- 容器氣泡排序排序
- 氣泡排序法排序
- 氣泡排序(Java)排序Java