要把第乙個元素當成是有序的。(所以寫**的時候外層迴圈是從1開始的)
首先將第二個元素拿出來,放到臨時資料的地方,然後和第乙個進行比較,誰小就放在前面
然後將第三個元素拿出來,放到臨時資料的地方,再依次和第二個元素比較,第乙個元素比較。放到指定的位置
然後將第四個元素拿出來,放到臨時資料的地方,再依次和第三個元素比較,第二個元素比較,第乙個元素比較,放到指定的位置。
依次類推。
例如一組資料按照插入排序演算法進行排序
12,34,2,45,6
第一次排序:
12,2,45,6 將第二個元素拿出來當成是臨時資料,也就是temp=34,然後和第乙個元素比較,12小於34所以排序為:
12,34,2,45,6
第二次排序
12,34,45,6 將第三個元素拿出來當成是臨時資料,也就是temp=2,然後依次和第二個元素比較,第乙個元素比較,所以排序為:
2,12,34,45,6
第三次排序
2,12,34,6 將第四個元素拿出來當成是臨時資料,也就是temp=45,然後依次和第三個元素比較,(因為都是有序的所以不用再和第二個元素和第乙個元素比較),所以排序為:
2,12,34,45,6
第四次排序
2,12,34,45 將第五個元素拿出來當成是臨時資料,也就是temp=6,然後依次和第四個元素比較,第三個元素比較,第二個元素比較,第乙個元素比較,所以排序為:
2,6,12,34,45
public class insertsort
public void insert(long value)
public void display()
a[in]=temp;
} }public static void main(string args)
}
或者:
/*
簡單插入排序函式
*/void insertsort(int *arr,int len)}}
}
簡單排序 插入排序
獨學而無友,則孤陋而寡聞。前面一篇部落格寫了氣泡排序,接著我們總結一下選擇排序 首先要了解選擇排序的基本思想,從第乙個元素開始,取出下乙個元素比較,如果該元素小於前乙個元素則插入到前乙個元素的前面,文字表述比較抽象,還是通過案例來說明。當我們定義乙個陣列,看下圖 通過四輪比較每次將該輪最小的值插入到...
簡單排序 插入排序
首先,插入排序關鍵就是在於插入的方法,插入的方法不同,排序就不同,一種最簡單的就是類似於選擇排序,就是將陣列中的後面的乙個元素陣列中的最後乙個元素比較,如果後面是比前面的小,則交換,否則不交換。這種就是最直接的排序。插入排序,關鍵就是要比較相鄰的元素的大小,然後將小的元素的座標記下,然後繼續向前比較...
排序 簡單排序 插入排序
插入排序有三個記錄值,其中乙個記錄著取出來的乙個值,也是需要插入的值,從第二個位置開始獲取。另外兩個初始位置是一樣的,從第二個數值開始記錄。這個的特點是每一次比較之前,當前假設的陣列都是有序的。public class arrayins 插入 public void insert long valu...