插入排序算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序算法相关的知识,希望对你有一定的参考价值。

基本思路:先以前两个数据为基础,将后面的元素依次取出来插进去。升序就是值从小->大,降序就是值从大->小。

代码:

void CArrayArithDlg::InsertSort(int nArray[],int nLength)

{

int nInsert=0,nIndex=0;

for (int i=1;i<nLength;i++)

{

nInsert=nArray[i]; //每次取数组中的一个值,将此值插进合适出

nIndex=i-1;

while(nIndex>=0 && nInsert<nArray[nIndex])//升序,如果前面的值大,则将此值后移

{

nArray[nIndex+1]=nArray[nIndex];

nIndex--; //通过它来完成历遍

}

nArray[nIndex+1]=nInsert;

}

}

        int array[5]={3,5,9,8,5};

int num=sizeof(array)/sizeof(int);//计数从1开始

InsertSort(array,num);

CString s;

s.Format("%d-%d-%d-%d-%d",array[0],array[1],array[2],array[3],array[4]);

AfxMessageBox(s);


本文出自 “11550563” 博客,谢绝转载!

以上是关于插入排序算法的主要内容,如果未能解决你的问题,请参考以下文章

排序算法之插入排序(直接插入希尔排序)

第三篇,插入排序算法:直接插入排序希尔排序

常见的排序算法 插入排序

插入排序算法初学算法之排序--直接插入排序

插入排序算法及C语言实现

排序算法2--插入排序--折半插入排序