动态申请数组

来源:互联网 发布:黄道日与黑道日的算法 编辑:程序博客网 时间:2024/06/18 04:35

动态申请一维数组、二维数组

干货~直接上源码:

指针实现~

#include <iostream>using namespace std;/*************************************************Author: Ma XiaoPangDate:2017-09-5Description:动态申请数组**************************************************/int main(){    ios::sync_with_stdio(false);    int M, N;    cout <<"Enter The Num Of N" << endl;    cin >> N;    int* p = new int[N];    cout << "Enter The Set Of N " << endl;    for (int i=0;i<N; i++)    {        cin >> p[i]; /**Column */    }    cout <<endl;    for (int i=0;i<N; i++)    {        cout <<p[i]<<" ";    }    delete[] p;    cout <<endl;    cout << "========================================"<< endl;    cout << "Enter The Num Of M And N"<< endl;    cin >> M >> N;    cout <<"Enter The Set of MN"<<endl;    int**q = new int *[M]; /** ROW */    for (int i=0;i<M;i++)    {        q[i]= new int [N]; /**Column */    }    for (int i=0;i<M;i++)        for(int j=0;j<N;j++)        {            cin >> q[i][j];        }    cout <<endl;    for (int i=0;i<M;i++)    {        for(int j=0;j<N;j++)        {            cout << q[i][j]<<" ";        }        cout << endl;    }    for (int i=0;i<M;i++)    {        delete[] q[i];    }    delete[] q;return 0;}

Vcetor实现~

#include <iostream>#include <vector>using namespace std;/*************************************************Author: Ma XiaoPangDate:2017-09-5Description:动态申请数组**************************************************/int main(){    ios::sync_with_stdio(false);    int M, N;    cout <<"Enter The Num Of N" << endl;    cin >> N;    vector<int> p(N);    cout << "Enter The Set Of N " << endl;    for (int i=0;i<N; i++)    {        cin >> p[i]; /**Column */    }    cout <<endl;    for (int i=0;i<N; i++)    {        cout <<p[i]<<" ";    }    cout <<endl;    cout << "========================================"<< endl;    cout << "Enter The Num Of M And N"<< endl;    cin >> M >> N;    cout <<"Enter The Set of MN"<<endl;    vector<vector<int> > q(M,vector<int>(N));    for (int i=0;i<M;i++)        for(int j=0;j<N;j++)        {            cin >> q[i][j];        }    cout <<endl;    for (int i=0;i<M;i++)    {        for(int j=0;j<N;j++)        {            cout << q[i][j]<<" ";        }        cout << endl;    }return 0;}


两个函数运行结果: