国产探花免费观看_亚洲丰满少妇自慰呻吟_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),是原址的(任何時候都需要常數個二外的元素空間存儲數據而歸并排序就是非原址的)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 故城县| 乐昌市| 威海市| 乐陵市| 广德县| 涿鹿县| 海兴县| 绥棱县| 马尔康县| 娄烦县| 揭阳市| 宣武区| 阿尔山市| 银川市| 上林县| 天长市| 苍梧县| 武夷山市| 南溪县| 元朗区| 永昌县| 连城县| 三都| 讷河市| 马尔康县| 新平| 丹东市| 连江县| 利津县| 祁阳县| 寻甸| 普格县| 登封市| 托克托县| 惠东县| 思茅市| 新安县| 六安市| 禹州市| 土默特左旗| 琼中|