二、cin 输入c/c++ 的标准输入函数,在输入一行数据,当数据量比较大的时候, cin 的效率是非常低的,为了加快读入的效率,可以改用 scanf,当然,还有一种利用 gets 来加速的方法,本来就来讨论一下这三种输入的效率。
void cinTest() { int n; cin >> n; for (int i = 0; i < n; ++i) { cin >> a[i]; } }
void scanfTest() { int n; while (scanf("%d", &n) != EOF) { for (int i = 0; i < n; ++i) { scanf("%d", &a[i]); } } }
void get() { int n; int idx = 0, t = 0, s = 0; scanf("%d", &n); getchar(); gets(line); while (line[idx]) { if (line[idx] >= '0' && line[idx] <= '9') { s = s * 10 + line[idx] - '0'; } else { a[t++] = s; s = 0; } ++idx; } if (s) { a[t++] = s; } }