插入排序

来源:互联网 发布:vb if else语句 编辑:程序博客网 时间:2024/05/02 04:40

插入排序适合少量元素排序,是一个有效的算法,它是在数组中寻找一个合适的位置再将数值插入进去。

例如递增排序长度为n的数组。

#include <stdio.h>#include <stdlib.h>int main(){    int n;    printf("输入有几个数\n");    scanf("%d",&n);    int f[100];    int i;    for(i=0;i<n;i++){        scanf("%d",&f[i]);    }    int kay;    int j;    for(i=1;i<n;i++){        kay=f[i];//将要插入的数取出来        j=i-1;//将指针指向改数前边的地址        while(j>=0&&f[j]>kay){//比较,如果找到比该数小的数结束循环            f[j+1]=f[j];//依次向后移动            j--;        }        f[j+1]=kay;//将该数赋值到指定位置    }    for(i=0;i<n;i++){        printf("%d ",f[i]);    }    printf("\n");    return 0;}

0 0
原创粉丝点击