排序之插入排序

来源:互联网 发布:淘宝交换的主板靠谱吗 编辑:程序博客网 时间:2024/05/15 08:48

<<insertion sort(A) 升序排列   伪代码  parameter:A[1..n]for j = 2 to A.length<span style="white-space:pre"></span>key = A[j]//Insert A[j] into the sorted sequence A[1..j-1]<span style="white-space:pre"></span>i = j-1<span style="white-space:pre"></span>while i>0 and A[i]>key<span style="white-space:pre"></span>A[i+1] = A[i]<span style="white-space:pre"></span>i = i-1<span style="white-space:pre"></span>A[i+1] = key<<C++//meclass Solution {public:    void insertion_sort(vector<int>& A) {        for(int j = 1;j<A.size();++j){<span style="white-space:pre"></span>key = A[j];<span style="white-space:pre"></span>i = j-1;<span style="white-space:pre"></span>while(i>=0&&A[i]>key){<span style="white-space:pre"></span>A[i+1] = A[i];<span style="white-space:pre"></span>--i;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>A[i+1] = key;<span style="white-space:pre"></span>}    }};//internetvoid InsertionSort(int *a, int len)  {      for (int j=1; j<len; j++)      {          int key = a[j];          int i = j-1;          while (i>=0 && a[i]>key)          {              a[i+1] = a[i];              i--;          }          a[i+1] = key;      }  }  


原理比较浅显。

0 0
原创粉丝点击