一、氣泡排序
外層迴圈out,從n-1逐漸減小,內層迴圈in,從0逐漸增加到out,進行比較swap。
package com.xwiam.algorithms.sort;
public class bubblesort
public void insert(long value)
public int find(long value)
}return nelems;
}public boolean delete(long value) else
nelems--;
return true;}}
public void display()
system.out.println("");
}public void sort() }}
}private void swap(int source, int dest)
public static void main(string args)
}
二、選擇排序
package com.xwiam.algorithms.sort;
public class selectsort
public void insert(long value)
public int find(long value)
}return nelems;
}public boolean delete(long value) else
nelems--;
return true;}}
public void display()
system.out.println("");
}public void selectsort()
}swap(out, min);}}
private void swap(int source, int dest)
public static void main(string args)
}
三、插入排序
package com.xwiam.algorithms.sort;
public class insertsort
public void insert(long value)
public void display()
system.out.println("");
}public void insertsort()
instance[in] = temp;}}
public static void main(string args)
}
四、三種簡單排序演算法的比較
氣泡排序做了n*(n-1)/2次比較,如果資料是隨機的,交換的次數是n*(n-1)/4。(最壞的情況下,即初始資料逆序時,每次比較都需要交換)
選擇排序做了n*(n-1)/2次比較,交換的次數<=n。當n值較小時,特別是如果交換的時間比比較的時間級大得多時,選擇排序是相當快的。
插入排序 資料隨機的話,做了n*(n-1)/4次比較,複製次數和比較次數大致相等,如果資料基本順序排序的話,比較次數和複製次數只需要o(n) 的時間。
演算法 三種簡單排序演算法
排序演算法比較常見的有 氣泡排序 簡單選擇排序 直接插入排序 希爾排序 堆排序 歸併排序和快速排序演算法等。今天先學習一下前面三種比較簡單的演算法。排序的穩定性 兩個或多個元素相等,排序過後仍然是原來的順序則為穩定排序。內部排序 排序過程都在記憶體中進行 外部排序 需要對外存進行訪問的排序過程。內排...
三種簡單排序
1.氣泡排序 氣泡排序是一種簡單的排序演算法,其基本思想如下 1 從第乙個開始起,比較相鄰的兩個元素的大小,如果前乙個比後乙個大,則進行交換 也就是小的冒上去 2 然後再和之前相鄰元素進行比較,若小,則冒上去。2 重複以上操作,直到最後乙個元素。1 public static void bubble...
三種簡單排序分析
一 氣泡排序 氣泡排序的原理就是按順序取出數列中相鄰的兩個數,依次比較,互換位置,最終完成排序的目的。時間複雜度 如果序列的初始狀態為 正序 則氣泡排序只需要進行一次排序,在排序的過程中只需要進行n 1次比較,且不移動記錄 反之,如果序列的初始狀態為 逆序 則需要進行n n 1 2次比較和記錄移動。...