4-11 求自定类型元素序列的中位数

本题要求实现一个函数,求N个集合元素A[]的中位数,即序列中第[N/2+1]大的元素。其中集合元素的类型为自定义的ElementType。
函数接口定义:

ElementType Median( ElementType A[], int N );

其中给定集合元素存放在数组A[]中,正整数N是数组元素个数。该函数须返回N个A[]元素的中位数,其值也必须是ElementType类型。
程序样例:

#include <stdio.h>
#define MAXN 10
typedef float ElementType;
ElementType Median(ElementType A[], int N);
int main()
{
    ElementType A[MAXN];
    int N, i;
    scanf_s("%d", &N);
    for (i = 0; i<N; i++)
        scanf_s("%f", &A[i]);
    printf("%.2f\n", Median(A, N));
            getchar();
            getchar();
            return 0;
}

/* 你的代码将被嵌在这里 */
ElementType Median(ElementType A[], int N)
{
    float temp = A[0];
    for (int i = 0; i < N; i++)
        for (int j = 1; j < N - i; j++)
        {
            if (A[j] < A[j - 1])
            {
                temp = A[j];
                A[j] = A[j - 1];
                A[j - 1] = temp;
            }
            else;
        }
    return A[(int)N / 2];
}

先采用冒泡排序实现数组的排序,然后直接输出中位数。
在提交过程中,出现运行超时的情况,并没有实现这块的优化,待更新优化。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Attention: 如果喜欢我写的文章,欢迎来我的github主页给starGithub:github.com...
    Muzi_Jin阅读 5,433评论 0 0
  • 本文为本人读《Python网络数据采集》写下的笔记。在第一章和第二章中,作者主要讲了BeautifulSoup这个...
    Maql阅读 1,796评论 0 3
  • 我不确定将来一定能够给你幸福 我只确定我会为了你拼了命的努力 我不确定将来一定能够给你幸福 我只确定我会为了你每天...
    约人阅读 2,454评论 6 7
  • 昨天和家里人视频,小侄子已经4个多月了,长得胖乎乎的,只有出生的时候看看他,然后就匆忙回上海了。虽然4个月时间很短...
    Max罗德里格斯阅读 3,229评论 1 2
  • 也许,人就是矛盾体吧,摇摆不定,在黑暗中摸索,没有路线,没有方向,直到哪一天,你看到了阳光,那光的方向,便是你今后...
    醉朝歌阅读 2,361评论 0 0

友情链接更多精彩内容