#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h> // 时间的头文件
void main()
{
/*插入排序法即:从下标为1的元素(把该元素先存放在一个变量中)
与之前的元素相比较看谁的大,如果前面的小,则把它放到后面来,
在与之前面的元素相比较,以此类推,当不满足条件时推出循环,把
第一个元素存放在不满足条件时的那个下标对应的元素中。*/
srand((unsigned)time(NULL));
int i,j,a[10],temp;
for(i=0;i<10;i++)
{
a[i]=rand()%90+10;
}
for(i=0;i<10;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
for(i=1;i<10;i++)
{
temp=a[i]; //保存当前元素(所谓的插入的元素
j=i-1; //把插入的元素与之前的元素进行比较
while(j>=0&&temp>a[j])//设置循环的条件
{
a[j+1]=a[j]; //把前一个元素放到后边
j--; //下标前移
}
a[j+1]=temp; //当不满足循环条件时,把插入的那个元素放到
} //不满足条件的下标位置,加一是因为它不满足
//条件的元素的标下多减了一
for(i=0;i<10;i++)
{
printf("%d\t",a[i]);
}
}
冒泡排序(插入排序法)
最新推荐文章于 2024-03-13 20:29:57 发布