| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1845 人关注过本帖
标题:求大神 谢谢╮(╯▽╰)╭
只看楼主 加入收藏
无聊的阿涛哥
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-4-27
结帖率:0
收藏
已结贴  问题点数:10 回复次数:6 
求大神 谢谢╮(╯▽╰)╭
向一个已经排好序的数组a中插入一个数,要求插入后数组仍按原来的规律排序,然后再将该数组的第3个元素删除,请编程实现该操作并显示插入和删除以后的数组。
搜索更多相关主题的帖子: 元素 
2016-05-13 10:56
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:4 
这个描述太笼统了,以什么标准在原排序好的数组中插入一个新的数据呢?随便插一个位置,还是说固定插在某一个位置呢?
2016-05-13 11:06
无聊的阿涛哥
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-4-27
收藏
得分:0 
回复 2楼 wanglianyi1
从小到大排列吧 ╮(╯▽╰)╭
2016-05-13 11:13
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:4 
举个例子

程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define N 10

int main()
{
    int a[N] = {1,2,3,4,5,6,7,8,9,10};
    int num = 0,temp;
    int i = 0;

    printf(" 请输入要插入的数:");
    scanf("%d",&num);
    temp = a[N - 1];
    for (i = N-1; i > 0; i--)
    {        
        if (num > a[i])
        {
            if (i == N - 1)
            {
                temp = num;
            }
            else
            {
                a[i + 1] = num;
            }
            break;
        }
        a[i] = a[i - 1];
    }
    if (i == 0)
    {
        a[0] = num;
    }

    for (i = 2; i < N-1; i++)
    {
        a[i] = a[i + 1];
    }

    a[N - 1] = temp;

    printf("插入后:\n");
    for (i = 0; i < N; i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
    return 0;
}
2016-05-13 11:22
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
回复 3楼 无聊的阿涛哥
不是排列的方法,数组排序很简单,是问如何确定你要在数组的哪个位置上插入一个新数据呢,什么标准来决定你的数据插在哪个位置上,我问的是这个意思
2016-05-13 11:53
无聊的阿涛哥
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-4-27
收藏
得分:0 
回复 5楼 wanglianyi1
谢谢大神了
2016-05-13 12:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:4 
根据数组的首尾两元素,确定是升序还是降序
使用二分法获得插入位置
if 插入位置 == 第3个元素的位置
    什么也不需要干
else if 插入位置 < 第3个元素的位置
    memmove a至3 后一格
else if 插入位置 > 第3个元素的位置
    memmove 3至a 后一格

-------------------------------
也不知道这个“第3个元素”中的3是base 0,还是base 1
2016-05-13 12:36
快速回复:求大神 谢谢╮(╯▽╰)╭
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016979 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved