論整數輸出優化

2021-07-30 03:46:01 字數 1511 閱讀 3668

前些天,看到有些大牛寫了輸出優化,於是乎,我就想比較一下輸出優化和printf、cout的速度,想證明輸出優化是否有所用處。

於是,想起ctime標頭檔案和clock函式可以測試程式在執行期間花費的時間,於是就有了靈感,寫出了乙個測試程式。

網上有兩種輸出優化程式,分別是:

要用陣列的。

int buf[30];

void putint_array(int x)

一般的。

void putint_usual(int p)
有一天構思出了一種遞迴輸出方法。

void putint_recursion(int p)

另外,c++還有printf和cout。

write和putint函式是兩種輸出優化函式,然後以下是測試程式。

#include

#include

#include

#include

using

namespace

std;

int buf[30];

const

int test=1000000;

inline

void putint_array(int x)//輸出優化一,要用陣列

inline

void putint_usual(int p)

inline

void putint_recursion(int p)//輸出優化三,遞迴演算法

int main()//測試

注:

clock()的作用為獲取當前的時間,兩時間差即函式花費的時間。

system(「cls」)的作用為清屏,要用windows.h標頭檔案,且只能在windows作業系統下使用。

test的值可以改變,意義為測試的數量。

為了公平起見,四個函式都inline,變成自帶函式。

運用物理思想:多次實驗獲取普遍規律。

讓我大吃一驚的是cout竟然比printf還快,後面實驗發現cout擅長的是小資料的輸出,不能輸出大資料。

所以,以後我們還是用printf自帶函式或者陣列輸出優化(如果你願意)。如果要寫,也可以裝一下逼。以上就是我的個人觀點,僅供參考。

以下文章可能對你有所參考:

簡單輸出整數

剛剛開始學習c語言,在pta的第一道題就被難住了 我在瀏覽題後給出了答案,如下 此段 在編譯器上執行無任何問題,函式正常呼叫,但是在pta上提交後卻出現了如下錯誤 a.c 18 5 error redefinition of main int main a.c 4 5 note previous d...

逆序輸出整數

描述 將乙個整數逆序輸出。整數的範圍0到10000,不會超出int表示範圍 關於輸入 輸入僅一行,整數n 關於輸出 輸出也僅一行,整數的逆序形式 例子輸入 例子輸出 個人方法 簡單粗暴的分類討論,不過這裡程式設計網格的測試資料出了一點問題,題幹裡說的是不超過10000的整數,但是實際上第六個測試資料...

讀入優化 輸出優化

注意了注意了注意了,重要的事情說3遍,這個東西是騙分神器,騙分神器,騙分神器!眾所周知 scanf比cin快得多,printf比cout快得多,如果你不知道就 就現在知道了 那有沒有更快的呢?當然。請看 好吧,這就是讀入優化的效果,在資料很恐怖的情況下能比scanf多過1 5個點 比如說這種 都說了...