// Es1.7.cpp : 定义控制台应用程序的入口点。 // //用指针来操作六个VECTOR的数列 #include "stdafx.h" #include <iostream> #include <vector> #include <cstdlib> #include <ctime> using namespace std; //遍历VECTOR,传递过来的是指向VECTOR的指针 void visit_vector( const vector<int> *&vector_pointer ){ if( vector_pointer && !vector_pointer->empty() ){ for( int index = 0; index < (*vector_pointer).size(); index ++ ){ cout<<( *vector_pointer )[ index ]<<'/t'; } cout<<endl; } } int _tmain(int argc, _TCHAR* argv[]) { const int seq_size = 8; int fib[ seq_size ] = { 1, 1, 2, 3, 5, 8, 13, 21 }; int luc[ seq_size ] = { 1, 3, 4, 7, 11, 18, 29, 47 }; int pel[ seq_size ] = { 1, 2, 5, 12, 29, 70, 169, 408 }; int tri[ seq_size ] = { 1, 3, 6, 10, 15, 21, 28, 36 }; int squ[ seq_size ] = { 1, 4, 9, 16, 25, 36, 49, 64 }; int pen[ seq_size ] = { 1, 5, 12, 22, 35, 51, 70, 92 }; vector<int> fibonacci( fib, fib + seq_size ), lucas( luc, luc + seq_size ), pell( pel, pel + seq_size ), triangular( tri, tri + seq_size ), square( squ, squ + seq_size ), pentagonal( pen, pen + seq_size ); const int seq_cnt = 6; const vector<int> *seq_addres[ seq_cnt ] = { &fibonacci, &lucas, &pell, &triangular, &square, &pentagonal }; //测试 srand( time(NULL) ); for( int index = 0; index < seq_cnt; index ++ ){ int seq_index = rand() % seq_cnt; visit_vector( seq_addres[ seq_index ] ); } return 0; }