学习笔记之动态数组

来源:互联网 发布:用php能做oa系统吗 编辑:程序博客网 时间:2024/06/08 10:52
#include <iostream>#include<vector>using namespace std;int main(){    //变长一维数组    int n;    cout<<"please input size of array:";    cin>>n;    //指针实现    int *p=new int[n];    cout<<"指针实现:"<<endl;    for(int i=0;i<n;i++)    {        p[i]=i+1;        cout<<p[i]<<" ";    }    cout<<endl;    delete[] p;//注意要注销指针p,使程序释放用new开辟的内存空间    //使用C++标准模版库(STL)中的vector(向量)实现变长数组    //Vector实现    vector<int>   q(n);//声明变长数组    cout<<"Vector实现:"<<endl;    for(int i=0;i<n;i++)    {        q[i]=i;        cout<<q[i]<<" ";    }    cout<<endl;    //二维数组    int row,col;    cout<<"please input row and col:";    cin>>row>>col;    //指针实现    cout<<"指针实现:"<<endl;    int **r=new int*[row];//双指针    for(int i=0;i<row;i++)//对每一个*r(一共row个*r)申请一组内存空间    {        r[i]=new int[col];    }    for(int i=0;i<row;i++)    {        for(int j=0;j<col;j++)        {            r[i][j]=(i+1)*(j+1);            cout<<r[i][j]<<"\t";        }        cout<<endl;    }    //释放空间    for(int i=0;i<row;i++)        delete[] r[i];    delete[] r;    cout<<endl;    //Vector实现    cout<<"Vector实现:"<<endl;    vector<vector<int>   >   k(row,   vector<int>(col));    for(int i=0;i<row;i++)    {        for(int j=0;j<col;j++)        {            r[i][j]=(i+2)*(j+2);            cout<<r[i][j]<<"\t";        }        cout<<endl;    }    return 0;}
0 0
原创粉丝点击