直接插入排序

来源:互联网 发布:apache tiles 教程 编辑:程序博客网 时间:2024/05/22 06:09
#include<stdio.h>void insertionSort(int *a,int n){    int i,j,temp;    for(i=2;i<=n;++i)/*数组从下标1开始存储,第一个元素有序,所以从第二个开始处理*/    {        temp=a[i];/*将带插入元素暂存于temp中*/        j=i-1;        while(j>=1&&temp<a[j])/*这个循环完成了从待排元素之前的元素开始扫描*/        {            a[j+1]=a[j];            --j;        }        a[j+1]=temp;/*找到插入位置,将temp中暂存的待排元素插入*/    }}int main(){    int arr[11];    int i;    for(i=1;i<=10;i++)        scanf("%d",arr+i);    insertionSort(arr,10);    for(i=1;i<=10;i++)        printf("%d ",arr[i]);    return 0;}

0 0
原创粉丝点击