熟用经典函数可让问题得到简化。。特别是正式需要用得时候能省下很多事情。
比如下面的例题:在执行栈和队列的操作时,,我们需要通过不同的方式,
好比链表重新建立往往浪费了时间——无效。。。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <queue> using namespace std; queue<int> q; int main() { int n,t; scanf( "%d" , &n ); for( int i = 0 ; i < n ; i++ ) q.push(i+1); while( !q.empty()) { t=q.front(); q.pop(); q.push(q.front()); q.pop(); } printf("%d",t); puts(""); //system("pause"); return 0; } 本以为这样可以解决杀人环的问题,但是Compile Error将中间改成如下: for( int i = 0 ; i < n ; i++ )
q.push(i+1); while( !q.empty()) { printf( "%d" , (q.front())' q.pop(); q.push(q.front()); q.pop(); } 样例输入:3 样例输出:1 3 2 样例输入:7 样例输出:1 3 5 7 4 2 6