演算法導論第二章_插入排序_讀書筆記

來源:互聯網
上載者:User

#include <iostream><br />void InsertSort(int* a, int n)<br />{<br /> int key;<br /> // j賦值為1因為是從第二個元素開始插入排序<br /> // j<n因為n代表著待排序的數組元素的個數,n-1為最後一個元素<br /> for (int j=1; j<n; j++)<br /> {<br /> key=a[j]; // 等待插入的元素為a[j]<br /> int i=j-1; // a[0...j-1]為已經有序的部分,a[j+1...n-1]為還沒有排序的部分<br /> // 我們首先要比較的是a[j]與a[j-1]<br /> while ((i>=0) && (a[i]>key))<br /> {<br /> a[i+1]=a[i]; // 所有比a[j]大的元素後移一位<br /> i--;<br /> }<br /> a[i+1]=key; // 將a[j]放到正確的位置上去<br /> }<br />}<br />int main()<br />{<br /> int a[6] = { 5, 2, 4, 6, 1, 3 };<br /> InsertSort(a, 6);<br /> for (int i=0; i<6; i++)<br /> {<br /> std::cout << a[i] << std::endl;<br /> }<br /> return 0;<br />}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.