64,654
社区成员
发帖
与我相关
我的任务
分享
if(end<num) //如果输入的数字比数组中的最后一个还大,就直接插入到数组最后,也就是第六个数组成员
{
a[5]=num;
}
else //否则,就在数组中查找第一个比num大的数
{
for(i=0;i<5;i++) //查找第一比num大的数
{
if(a[i]>num)
{
tmp1=a[i]; //用临时变量存放要替换的数
a[i]=num; //替换
for(j=i+1;j<6;j++) //从该位置开始数组整体后移
{
tmp2=a[j];
a[j]=tmp1;
tmp1=tmp2;
}
for(i=0;i<5;i++)
{
if(a[i]>num)
{
tmp1=a[i];
a[i]=num;
for(j=i+1;j<6;j++)
{
tmp2=a[j];
a[j]=tmp1;
tmp1=tmp2;
}
交换这段实际上是找到插入元素的位置后将插入元素放到这个位置上,然后将这个位置上的元素往后移动一个位置。后面的元素都依次往后移动一个位置。