Lesson01-07-20-C++高级数组

来源:互联网 发布:php过滤相同的数据 编辑:程序博客网 时间:2024/05/19 18:10
#include<iostream>#include<array>#include<vector>//C++的标准库#include<string>//C++字符串using  std::array;//静态数组,栈上,using std::vector;//动态数组,堆上,using std::string;//使用C++风格数组不需要管理内存。//array注意不要栈溢出//array适用于任何类型void main1(){ // array<int, 5> myint = { 1, 2, 3, 4, 5 }; array<int, 1024 * 256> myint1; vector<double> myvector; //动态数组 for (int i = 0; i < 1024 * 1024; i++) {  myvector.push_back(i);// } std::cin.get();}void main2(){ array<int, 5> myint1 = { 1, 2, 3, 4, 5 }; array<int, 5> myint2 = { 11, 12, 13, 14, 15 }; array<int, 5> myint3 = { 21, 22, 23, 24, 25 };//array<array<int, 5>, 3> myint = {myint1,myint2,myint3}; array<array<int, 5>, 3> myint = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; for (int i = 0; i < myint.size();i++)//数组大小 {  for (int j = 0; j < myint1.size(); j++)  {   std::cout << "  "<<myint[i][j];  }  std::cout << "\n"; } std::cin.get();}void main3(){ vector <string>  string1;//动态字符串数组 //可以反复利用 string1.push_back("notepad"); string1.push_back("calc"); string1.push_back("mspaint"); string1.pop_back();//删除一个 //string1.clear();//清空 for (int i = 0; i < string1.size(); i++)//遍历动态数组 {  //system(string1[i].c_str()); }}void main5(){ vector <string>  string1;//动态字符串数组 string1.push_back("notepad"); string1.push_back("calc"); string1.push_back("mspaint"); vector<string>::iterator ibegin, iend;//迭代器 ibegin = string1.begin();//数据起始点 iend = string1.end();//结束 for (;ibegin!=iend;ibegin++) {  string tempstr = *ibegin;//获取指针指向的数据  system(tempstr.c_str());//执行指令 }}void  main6(){ array<int, 5> myint = { 1, 2, 3, 4, 5 }; array<int,5>::iterator ibegin, iend;//正向迭代器 ibegin = myint.begin(); iend = myint.end(); while (ibegin!=iend) {  std::cout << *ibegin << std::endl;  ibegin++; } array<int, 5>::reverse_iterator rbegin, rend; rbegin = myint.rbegin(); rend = myint.rend(); while (rbegin!=rend) {  std::cout << *rbegin << std::endl;  rbegin++; } std::cin.get();}void main7(){ vector <string>  string1;//动态字符串数组 string1.push_back("notepad"); string1.push_back("calc"); string1.push_back("mspaint"); //反向迭代器 vector<string>::reverse_iterator rbegin = string1.rbegin(); vector<string>::reverse_iterator rend = string1.rend(); //rend--;rend最后不指向数据,指向数据的结尾的下一个节点A:if (rbegin!=rend) {  system((*rend).c_str());//执行指令  //rbegin++;  rend--;  goto A; }}

0 0
原创粉丝点击