C++ 直方圖

2023-03-20 16:02 更新

從之前的數(shù)據(jù)表取出并存儲(chǔ),在使用時(shí)可以直接調(diào)用,這個(gè)方法通常很有用,也比直接將數(shù)值打印出來要好。我們需要一個(gè)將十個(gè)整型數(shù)存儲(chǔ)起來的方法。當(dāng)然,我們可以定義十個(gè)整型變量,分別取名為howManyones,howManytows等,但是那樣的話工作太過繁雜。而且當(dāng)我們需要改變統(tǒng)計(jì)的數(shù)值個(gè)數(shù)時(shí)將很會(huì)麻煩。

因此,最好是使用一個(gè)長度為10的整型指針。這樣的話,我們就可以一次完成十個(gè)整數(shù)值存儲(chǔ)點(diǎn)的設(shè)置,并且可以使用數(shù)組索引到每個(gè)數(shù)值。程序如下:

int numValues = 100000;
int upperBound = 10;
apvector<int> vector = randomVector (numValues, upperBound);
apvector<int> histogram (upperBound);

for (int i = 0; i<upperBound; i++) {
    int count = howMany (vector, i);
    histogram[i] = count;
}

我把這個(gè)程序稱作直方圖,因?yàn)檫@是一個(gè)統(tǒng)計(jì)學(xué)上的名詞,專門為向量中統(tǒng)計(jì)不同數(shù)值出現(xiàn)的次數(shù)而設(shè)計(jì)的。

這里一個(gè)很巧妙的地方是,循環(huán)變量在函數(shù)中得到了兩次不同功能的使用。首先,它是howMany函數(shù)的參數(shù),這正是我們想要統(tǒng)計(jì)的值。其次,它是向量統(tǒng)計(jì)圖的索引值,將每個(gè)統(tǒng)計(jì)值存入對(duì)應(yīng)存儲(chǔ)點(diǎn)中。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)