扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
#include <iostream> using namespace std; int main() { int size=2; // 初始化数组大小;在运行时调整。 int *p = new int[size]; int isbn; for(int n=0; ;++n) { cout<< "enter an ISBN; press 0 to stop "; cin>>isbn; if (isbn==0) break; if (n==size) // 数组是否到达上限? reallocate(p, size); p[n]=isbn; // 将元素插入扩容的数组 } delete [] p; // 不要忘了这一步! } |
#include <algorithm> // for std::copy int reallocate(int* &p, int& size) { size*=2; // double the array''s size with each reallocation int * temp = new int[size]; std::copy(p, p+(size/2), temp); delete [] p; // release original, smaller buffer p=temp; // reassign p to the newly allocated buffer } |
vector: #include <iostream> #include <vector> using namespace std; int main() { vector <int> vi; int isbn; while(true) { cout << "enter an ISBN; press 0 to stop "; cin >> isbn; if (isbn==0) break; vi.push_back(isbn); // insert element into vector } } |
for (int n=0; n<vi.size(); ++n) { cout<<"ISBN: "<<vi[n]<<endl; } |
vector <int> vi(2000); // 初始容量为 2000 个元素 |
vi.resize(2000);// 建立不小于 2000 个元素的空间 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者