国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JAVA算法起步之插入排序實例

2019-11-26 15:42:37
字體:
來源:轉載
供稿:網友

趁著過年這段時間,我將算法導論這本書看了一遍,感覺受益匪淺。著這里也根據算法導論中所涉及到的算法用java實現了一遍。
第一篇我們就從排序開始,插入排序的原理很簡單,就像我們玩撲克牌時一樣。如果手里拿的牌比他前一張小,就繼續向前比較,知道這張牌比他前面的牌打時候就可以插在他的后面。當然在計算機中我們相應的也需要將對比過的牌向后移一位才可以。
這里直接給出算法,相信很多程序員都感覺有些程序比我們的自然語言都要好理解。

復制代碼 代碼如下:

public class Sort {
 public void sort(int[] s){
  if(s.length<1){
   return ;
  }
  for (int i = 1; i < s.length; i++) {
   int key =s[i];
   int j=i-1;
   while(j>=0&&s[j]>key){
    s[j+1]=s[j];
    j--;
   }
   s[j+1]=key;
  }
 }
 public static void main(String[] args) {
  Sort s=new Sort();
  int[] st =new int[]{7,5,3,4,2,1};
  s.sort(st);
  for (int i = 0; i < st.length; i++) {
   System.out.println(st[i]);
  }
 }
}

他的時間復雜度是o(n*n),是原址的(任何時候都需要常數個二外的元素空間存儲數據而歸并排序就是非原址的)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石林| 阜宁县| 工布江达县| 锦屏县| 潜山县| 盐源县| 视频| 绥宁县| 青州市| 犍为县| 林周县| 榕江县| 郴州市| 修武县| 福泉市| 松阳县| 宜都市| 荣昌县| 丰镇市| 革吉县| 台北市| 临清市| 宁城县| 醴陵市| 海兴县| 双鸭山市| 金华市| 阜平县| 墨江| 玛沁县| 庆阳市| 应城市| 南丹县| 宝兴县| 丰都县| 巴林右旗| 四子王旗| 五常市| 钟祥市| 招远市| 娄底市|