C直接插入排序

来源:互联网 发布:mac发送pkg自动zip 编辑:程序博客网 时间:2024/05/18 02:13

思路:每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止。

这里写图片描述

#include <stdio.h>int main(){    int a[10]={25,14,24,65,56,78,72,96,87,55};    int temp,j;    for(int i=1;i<10;i++)                          //从第二个数开始循环     {            if(a[i]<a[i-1])                        //与前一个数比较 ,大于前一个数则不改变             {                temp=a[i];                         //进入循环说明比前一个数小,先保存起这个数,防覆盖                 for(j=i-1;j>=0&&a[j]>temp;j--)     // 这个数与前面的数一一比较                          a[j+1]=a[j];               //前面的数如果大于本数,则后移                printf("%d\n",j);                 a[j+1] = temp;            }    }    for(int j=0;j<10;j++)    printf("%d ",a[j]);     return 0;} 
0 0
原创粉丝点击