c++学生案例:在有序数组中插入一个数,保证它依然有序

该程序使用C语言实现了一个功能,在已排序的数组中插入一个数,并确保插入后数组依然有序。通过遍历找到合适位置,然后将后续元素向后移动一位,最后将新数插入。

//在有序数组中插入一个数,保证它依然有序 GMZ
//在有序数组中插入一个数,保证它依然有序 GMZ
//在有序数组中插入一个数,保证它依然有序 GMZ 
#include <stdio.h>
 main()
{
    int a[10]={5,25,35,55,75,88,98};  
    int i,x,j,m=7;  //m=数组长度
    scanf("%d",&x);
    
    for(i=0;i<m;i++)    //比较x和数组的大小 
     if(x<a[i])
     break;      //如果数组大于x,直接跳出循环 
     
     j=i;       //j=数组下标 
     
     for(i=m;i>=j;i--)   //从后面开始,如果从前面数会被覆盖掉 
     a[i+1]=a[i];       //往后移一位 
     
     a[j]=x;        //把x放到小于它的后面,大于它的前面 
     
    for (i=0;i<m+1;i++)
    printf("%-4d",a[i]);
    
    getchar();
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值