栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

如何在数组中插入一个元素(两种方法)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在数组中插入一个元素(两种方法)

第一种是比较常见的方法,简单来说关键步骤就两步,第一步是找出元素要插入的位置,第二步是将插入位置的元素以及后面的元素全部往后位移。

#include
int  main ()
{
    int a[11] = {1,2,3,4,5,6,7,8,9,10};  //定义一个数组,可以多放一个元素
    int number,i,j;
    scanf("%d",&number);
    if(number>a[9])            //如果新加入的元素是最大的,就直接加入到最后一位
        a[10]=number;
    else
    {
        for( i=0;i<10;i++)
        
            if(a[i]>number)     //找到第一个比number大的数
            {
                for(j=10;j>i;j--)
            a[j+1]=a[j];    //依次往后退一位
            a[i]=number;
            break;
            }
       }
    
    for(i=0;i<11;i++)
        printf("%dn",a[i]);
      return 0 ;    
}

第二种是找到插入元素的位置下标,然后将后面元素的下标都加一位,最后在将这个元素放进来。

#include
int main()
{
    int data[11]={1,2,3,4,5,6,7,8,9,10};
    int m,index;
    printf("请输入一个整数:");
    scanf("%d",&m);
    if(m<=data[0])             //特殊情况 ,如果m是最小的 则直接放到第一个元素的位置
        index=0;
    else if(m>=data[9])     // 如果m是最大的,直接放到最后一个元素的位置
          index=10;
    else
    {
        for(int i=0;i<9;i++)
        {
            if(m>=data[i] && m<=data[i+1])      //如果m再两个元素之间,m的下标 index就等于 i+1
            index=i+1;
            break;
        }
    }    
    for(int i=8;i>=index;i-- )
        data[i+1] = data[i];
    data[index] = m;
    for(int i=0;i<10;i++)
    {    
        printf("%-5d",data[i]);
    }
    return 0;    
}    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/718886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号