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

C语言,往排好序的数组中插入元素

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

C语言,往排好序的数组中插入元素

例题:有一个已经排好序的数组,元素分别是:1,3,5,7,9,从键盘上输入一个元素,将这个元素插入到数组中,使数组仍保持从小到大排序。
输出时各元素的最小宽度为5。
例:
(1)输入:0  输出:    0    1    3    5    7    9
(2)输入:2  输出:  1    2    3    5    7    9
(3)输入:5  输出:  1    3    5    5    7    9
(4)输入:10  输出:  1    3    5    7    9   10

在这个问题中:

  1. 把插入的元素当作 (排好序的)数组的第一个元素。
  2. 这样就可以看成有6个无序元素的数组。
  3. 直接就是依次进行比大小。
  • #include
    int main()
    {
    	int a[6]={0,1,3,5,7,9};//第一个元素的值是多少都没关系,后面可以赋值改变它。
    	int n;//n代表我们要插入的元素。
    	int i,t;
    	scanf("%d",&n);
    	a[0]=n;//这里就把要插入的值赋给第一个元素。
    	//下面的循环就是开始比大小。
    	for(i=1;i<6;i++)
    	{
    		if(n>a[i]) 
    		{
    //这里必须是前后两个元素交换值,如果插入值是最大的,就要与每一个元素比较。
    			t=a[i-1];
    			a[i-1]=a[i];
    			a[i]=t;
    			
    		}
    		else break;//没有比插入值大的话就结束循环。
    	}
    	for(i=0;i<6;i++)
    	{
    		printf("%5d",a[i]);
    	}
    	return 0;
    }

    如果有类似的问题就按大概的方式修改。

  • 有其它想看的,私信一下,让我有动力输出。

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

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

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