C++动态数组
一: 一维数组初始化
标准方式1:int value[100]; //value[i]的值不定,因为没有初始化;
标准方式2:int value[100] = {1,2,3}; //value[0],value[1],value[2]值是1,2,3,没有定义的初始化为0
指针方式: int * value = new int[n]; //未初始化
删除数组空间:delete []value;
二:二维数组初始化:
标准方式1:int value[100][100]; //value[i]的值不定,因为没有初始化;
标准方式2:int value[100][100] = {{1,1},{2,2},{3,3}}; //value[0][0,1],value[1][0,1],value[2][0,1]初始化,没有定义初始化为0
三:建立二维动态数组数组
这里说的动态数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组
1.使用指针,分配一个指针数组,将其首地址保存在num中,然后再为指针数组的每个元素分配一个数组
int j = ; //定义第二维数组的个数
int**num = new int *[longs]; //分配一个指针数组,将其首地址保存在num中;
for(int i = ; i < longs; i++){ //为指针数组的每个元素分配一个数组;
num[i] = new long[j];
}
//用这种方法定义的动态二维数组的释放需先释放指针数组的每个元素指向的数组,然后再释放该指针数组;
for(int i = ; i < longs; i++){
delete [j]num[i];
num[i]=NULL;
}
delete [longs]num;
num=NULL;
2.利用vector
int main() {
int row,column;
cin>>row>>column; //申请空间
6 vector<vector<int> > a(row,vector<int>(column));
//使用空间
for(int j = ;j < row; j++) {
for(int k = ;k < column; k++) {
a[j][k] = rand()%;
}
}
for(int j = ;j < row;j++) {
cout<<endl;
for(int k = ;k< column;k++) {
a[j][k] = rand()%;
cout<<a[j][k]<<" ";
}
}
return ;
}
C++动态数组的更多相关文章
- 常用数据结构-线性表及Java 动态数组 深究
[Java心得总结六]Java容器中——Collection在前面自己总结的一篇博文中对Collection的框架结构做了整理,这里深究一下Java中list的实现方式 1.动态数组 In compu ...
- C语言 · 动态数组的使用
从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出.要求尽可能使用函数实现程序代码.平均值为小数的只保留其整数部分. 样例输入: 5 3 4 0 0 2样例输出:9 1样 ...
- C++中关于[]静态数组和new分配的动态数组的区别分析
这篇文章主要介绍了C++中关于[]静态数组和new分配的动态数组的区别分析,很重要的概念,需要的朋友可以参考下 本文以实例分析了C++语言中关于[]静态数组和new分配的动态数组的区别,可以帮助大家加 ...
- C++之动态数组
C99支持一种名为变长数组的结构来方便程序员.C++也提供了一种长度可在程序运行时确定的数组类型:动态数组.声明格式为:(声明 int 类型的数组) ; //此处可修改 ArraySize 的值 in ...
- VB默认属性、动态数组、Range对象的默认属性的一点不成熟的想法
1.默认属性 VB6.0有默认属性的特性.当没有给对象指定具体的属性时,"默认属性"是VB6.0将使用的属性.在某些情形下,省略常用属性名,使代码更为精简. 因为CommandBu ...
- C#有关数组内存的释放及动态数组问题
一.数组内存释放问题 数组内存的释放可以按照如下语句实现: string [] aa=new string[2]; aa[0]="A"; aa[1]="B"; ...
- (待续)C#语言中的动态数组(ArrayList)模拟常用页面置换算法(FIFO、LRU、Optimal)
目录 00 简介 01 算法概述 02 公用方法与变量解释 03 先进先出置换算法(FIFO) 04 最近最久未使用(LRU)算法 05 最佳置换算法(OPT) 00 简介 页面置换算法主要是记录内存 ...
- C++ 动态数组实例
一维动态数组的实例: #include <iostream> using namespace std; int main() { int *arr; int n; cout<< ...
- ALLOCATE语句分配FORTRAN动态数组方法(转自http://blog.csdn.net/zhuxianjianqi/article/details/8067174)
数组的动态分配 a) 可分配数组 数组可以是静态的也可以是动态的.如果数组是静态的,则在编译时就被分配了固定的储存空间,并且直到程序退出时才被释放.程序运行时静态数组的大小不能改变.静态数组的缺 ...
随机推荐
- Yii2.0中文开发向导——控制器(Controller)
控制器(Controller) 本节包含以下方面的内容 基本概念 路由 默认路由 动作的参数 在动作中定义参数 从请求(request)中获取参数 独立动作 动作过滤器(Action Filters) ...
- 值得订阅的Android 开发者博客
链接:http://www.zhihu.com/question/19788650/answer/60771437来源:知乎 Google 官方[Android Developers Blog](An ...
- Android应用反破解的思路
一个Android应用要被破解,要经历:反编译->分析代码->重新编译打包的过程,反破解的思路也是从在这三个步骤上做文章: 1, 寻找反编译工具的缺陷,通过阅读其源码或者对其进行压力测试找 ...
- echarts
ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11 ...
- Service
一.什么是Service Service在后台运行,不与用户进行交互.在默认情况下,Service运行在应用程序进程的主线程中,如果需要在Service中处理一些网络连接等耗时的操作,那么应该将这 ...
- PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
/*常用的字符串输出函数 * * echo() 输出字符串 * print() 输出一个或多个字符串 * die() 输出一条信息,并退出当前脚本 * printf() 输出格式化字符串 * spri ...
- c里面的fflush函数
NAME fflush - flush a stream SYNOPSIS #include <stdio.h> int fflush(FILE *stream); DESCRIPTION ...
- python 3.5.2安装mysql驱动报错
python 3.5.2安装mysql驱动报错 python 3.5.2安装mysql驱动时出现如下异常: [root@localhost www]# pip install mysql-connec ...
- div加jquery实现iframe标签的功能
由于最近项目需要,前端后台都完全采用div+css的方式布局.因而左思右想,有什么办法可以替代常用的iframe上下左右的布局方式,而且页面只是局部刷新.参考了许多前辈的资料,并加以整理,因而有了以下 ...
- Java for LeetCode 232 Implement Queue using Stacks
Stack<Integer> stack=new Stack<Integer>(); public void push(int x) { stack.push(x); } // ...