插入排序

来源:互联网 发布:mastercamx9编程技巧 编辑:程序博客网 时间:2024/06/05 06:34

插入排序就像我们平常的打扑克,来一张的话我们会给他一个正确的顺序:

摸来的第一张牌无须进行排序:


void main()
{
    int nData[8]={49,38,65,97,76,13,27,49},i;
    printf("排序前:\n");
    for(i=0;i<8;++i)
    {
    printf("%d",nData[i]);
    }
    printf("\n");
    InsertSort(nData,8);
    printf("排序后:\n");
    for(i=0;i<8;++i)
    {
        printf("%d",nData[i]);
    }
    printf("\n");
}

这就是插入排序的main()函数,我们只对8个数字进行排序!

然后是对这个InsertSort()函数进行编写:

#include <stdio.h>
#include <stdlib.h>

#define Max 100

void InsertSort(int nData[],int nNum)
{
    int i,j,nTemp,k;
    for(i=0;i<nNum;i++)
    {
        nTemp=nData[i];//这就是传说中的第一张牌,当然后面会进行改变!
        for(j=0;j<=i;++j)
        {
            if(nData[j]>nTemp)
            {
                for(k=i;k>j;--k)
                {
                    nData[k]=nData[k-1];
               
                }

    nData[j]=nTemp;
                    break;
            }
        }
    }
}

0 0
原创粉丝点击