4-11 求自定類型元素序列的中位數(shù)

本題要求實現(xiàn)一個函數(shù),求N個集合元素A[]的中位數(shù),即序列中第[N/2+1]大的元素。其中集合元素的類型為自定義的ElementType。
函數(shù)接口定義:

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

其中給定集合元素存放在數(shù)組A[]中,正整數(shù)N是數(shù)組元素個數(shù)。該函數(shù)須返回N個A[]元素的中位數(shù),其值也必須是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];
}

先采用冒泡排序?qū)崿F(xiàn)數(shù)組的排序,然后直接輸出中位數(shù)。
在提交過程中,出現(xiàn)運行超時的情況,并沒有實現(xiàn)這塊的優(yōu)化,待更新優(yōu)化。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Attention: 如果喜歡我寫的文章,歡迎來我的github主頁給starGithub:github.com...
    Muzi_Jin閱讀 1,580評論 0 0
  • 本文為本人讀《Python網(wǎng)絡(luò)數(shù)據(jù)采集》寫下的筆記。在第一章和第二章中,作者主要講了BeautifulSoup這個...
    Maql閱讀 272評論 0 3
  • 我不確定將來一定能夠給你幸福 我只確定我會為了你拼了命的努力 我不確定將來一定能夠給你幸福 我只確定我會為了你每天...
    約人閱讀 317評論 6 7
  • 昨天和家里人視頻,小侄子已經(jīng)4個多月了,長得胖乎乎的,只有出生的時候看看他,然后就匆忙回上海了。雖然4個月時間很短...
    Max羅德里格斯閱讀 462評論 1 2
  • 也許,人就是矛盾體吧,搖擺不定,在黑暗中摸索,沒有路線,沒有方向,直到哪一天,你看到了陽光,那光的方向,便是你今后...
    醉朝歌閱讀 302評論 0 0