插入排序是將插入數(shù)據(jù)與前面的排好序的數(shù)據(jù)比較然后將數(shù)據(jù)插入到指定位置時間復(fù)雜度為O(N^2)
在吳堡等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,外貿(mào)網(wǎng)站制作,吳堡網(wǎng)站建設(shè)費用合理。
大概排序流程為將一數(shù)組,首先取第二個數(shù)據(jù)向第一個數(shù)據(jù)插入排序,一直到第n個向n-1個數(shù)組插入排序
#include
using namespace std;
void InsertSort(int *a, int length)
{
if (a == NULL || length < +0)
{
return;
}
for(int i = 1; i < length; i++)
{
int index = i;
int tmp = a[i];
while (index)
{
if (tmp < a[index-1]) //插入數(shù)據(jù)和前面的數(shù)據(jù)比較,并將大的向后移動
{
a[index] = a[index - 1];
}
else
{
break;
}
--index;
}
if (tmp { a[index] = tmp; } } } void Test() { int a[] = { 3, 6, 2, 8, 1, 5, 9, 4, 7, 0 }; InsertSort(a, 10); for (int i = 0; i < sizeof(a) / sizeof(a[0])-1; i++) { cout << a[i] << " "; } cout << endl; } int main() { Test(); return 0; }
網(wǎng)站題目:插入排序基礎(chǔ)實現(xiàn)
文章出自:http://weahome.cn/article/piejcs.html