动态申请一维数组、二维数组
干货~直接上源码:
指针实现~
#include <iostream>
using namespace std;
/*************************************************
Author: Ma XiaoPang
Date:2017-09-5
Description:动态申请数组
**************************************************/
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 XiaoPang
Date:2017-09-5
Description:动态申请数组
**************************************************/
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;
}
两个函数运行结果: