一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java排序算法總結之插入排序

Java排序算法總結之插入排序

2019-12-17 13:42一羽清寧 JAVA教程

這篇文章主要介紹了Java排序算法總結之插入排序,較為詳細的分析了插入排序的原理與java實現技巧,需要的朋友可以參考下

本文實例講述了Java插入排序方法。分享給大家供大家參考。具體分析如下:

有一個已經有序的數據序列,要求在這個已經排好的數據序列中插入一個數,但要求插入后此數據序列仍然有序,這個時候就要用到插入排序法。本文主要介紹的是插入排序的java實現。
 
插入排序的基本操作就是將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據。比較和交換的時間復雜度為O(n^2),算法自適應,對于數據已基本有序的情況,時間復雜度為O(n),算法穩定,開銷很低。算法適合于數據已基本有序或者數據量小的情況。

插入算法把要排序的數組分成兩部分:第一部分包含了這個數組的所有元素,但將最后一個元素除外,而第二部分就只包含這一個元素。在第一部分排序后,再把這個最后元素插入到此刻已是有序的第一部分里的位置。

算法描述

一般來說,插入排序都采用in-place在數組上實現。具體算法描述如下:

1. 從第一個元素開始,該元素可以認為已經被排序
2. 取出下一個元素,在已經排序的元素序列中從后向前掃描
3. 如果該元素(已排序)大于新元素,將該元素移到下一位置
4. 重復步驟3,直到找到已排序的元素小于或者等于新元素的位置
5. 將新元素插入到下一位置中
6. 重復步驟2

如果比較操作的代價比交換操作大的話,可以采用二分查找法來減少比較操作的數目。該算法可以認為是插入排序的一個變種,稱為二分查找排序。

代碼實現

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public void insertionSort() {
  // 插入排序
  int out, in;
  int count1 = 0, count2 = 0;// 復制次數,比較次數
  for (out = 1; out < nElems; out++) {
   long temp = a[out];
   in = out;
   boolean flag=in>0&&a[in-1]>=temp;
   while(flag){
   if(a[in-1]>=temp){
    if(in>0){
    a[in]=a[in-1];
    count1++;
    --in; 
    }
   }
    count2++;
    flag=in>0&&a[in-1]>=temp;
   
   a[in] = temp;
  }
  System.out.println("復制次數為:" + count1 + " 比較次數為:" + count2);
}

插入排序法在數據已有一定順序的情況下,效率較好。但如果數據無規則,則需要移動大量的數據,其效率就與冒泡排序法和選擇排序法一樣差了。

希望本文所述對大家的java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费国产影视观看网站入口 | 亚洲女人国产香蕉久久精品 | 日日免费视频 | 91次元成年破解版 | 天天性综合| 亚洲国产99在线精品一区69堂 | 亚洲国产精品久久精品成人网站 | 久久久久嫩草影院精品 | 超逼网| 黄动漫软件车车好快的车车 | 1024国产看片在线观看 | 国产精品原创永久在线观看 | 我的漂亮朋友在线观看全集免费 | 久久噜国产精品拍拍拍拍 | 女人张开腿让男人桶视频免费大全 | 涩色爱 | 办公室出轨秘书高h | 222aaa精品影院| 青草视频在线观看免费网站 | 久久夜色噜噜噜亚洲AV0000 | 久久不射网| 欧美日韩一区二区三区在线观看 | 福利片成人午夜在线 | 91搞搞| 国产在线精品成人一区二区三区 | 国产综合久久久久久 | 亚洲精品一二三四 | 荡女淫春2未删减版 | 国产欧美一区二区三区久久 | 好大好湿好硬好爽好深免费视频 | 国产免费午夜 | 日韩精品久久不卡中文字幕 | 午夜影院费试看黄 | 欧美春宫 | 9丨精品国产高清自在线看 9久热这里只有精品免费 | 午夜福利合集1000在线 | 男人躁女人过程 | 日韩亚洲国产欧美精品 | 久久中文字幕亚洲 | 午夜深情在线观看免费 | 天天操精品 |