一、氣泡排序
1、執行過程:以生活中按身高排隊為例。
① 比較兩人的身高
② 如果左邊的隊員高,則兩隊員交換位置
③ 向右移動一位,比較下面兩個隊員。
可見,一直比較到佇列的最右端後,個子最高的隊員在最右端。即選出了隊伍中最**的人。但還沒有所有隊員排好序。接下來,進行第二趟排序,可選出次高的隊員,以此類推。
2、**演示:
public
class bubble ;
//用於陣列位置交換
public
static
void swap(int x,int y);
// 用於陣列位置交換
public
static
void swap(int x, int y) ;
// 用於陣列位置交換
public
static
void swap(int x, int y) {
int temp = a[x];
a[x] = a[y];
a[y] = temp;
//插入排序
public
static
void insertionsort(){
int in,out;
for(out=1;outint temp=a[out];
in=out;
while(in>0&&a[in-1]>temp){
a[in]=a[in-1];
--in;
a[in]=temp;
public
static
void main(string args){
insertionsort();
for(int temp:a){
system.out.print(temp+"<");
3、插入排序的效率:執行時間依然為o(
n2)。總體來說:插入排序比氣泡排序快一半,比選擇排序快一點。特別適用於待排序資料基本有序的情況。
java常用排序演算法 冒泡,選擇,插入
重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。時間複雜度 o n 為穩定演算法。public static void bubblesort int arr 每一次從待排序的資料元素中選出最小 ...
java排序演算法 氣泡排序 選擇排序 插入排序
氣泡排序 原理 是臨近的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換,這樣一趟過去後,最大或最小的數字被交換到了最後一位,然後再從頭開始進行兩兩比較交換,直到倒數第二位時結束 author daopinz public class bubblesort system.out.printl...
演算法 選擇 插入 氣泡排序
選擇排序,就是每次選擇未排序中最小的,放到第i個位置。比如第一次,遍歷整個陣列,找到陣列中最小的,放到第乙個位置 第二次從第2個元素開始遍歷,找到最小的,放到第2個位置 以此類推,流程如下。輸出結果 012 3568 9插入排序,第一次迴圈,當做0 0號位置已經排好序,需要做的是從0 1號位置排序,...