博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组与字符串一(概念和基础)
阅读量:4478 次
发布时间:2019-06-08

本文共 946 字,大约阅读时间需要 3 分钟。

常见的结构有:数组、堆栈、队列、链表、树、图、堆、哈希表等等。 

本文主要是回顾下关于数组与字符串的相关知识,以便于以后使用:

数组,是常见的数据结构之一,用于存储一系列相同类型的数据。从底层实现上来看,“开辟一个数组”相当于系统为你提供了一段连续内存区间用于存储数据。数组名就是一个指针,在C++中,主要有两种创建方法:

数组

//在栈上定义长度为arraysize的整型数组

 int array[arraysize];
 //在堆上定义长度为arraysize的整型数组
 int *array = new int[arraysize];
 delete[] array;//使用完后要删除

 

//二维数组存储一个矩阵

 //在栈上创建

 int array[M][N];
 //传递给子函数
 void func(int arr[M][N]){

 }

 //在堆上创建
 int **array = new int *[M];
 for (i = 0; i < M; i++)
  array[i] = new int[N];
 //传递给子函数
 void func(int **arr, int M, int N){

 }

 //使用完后需要释放内存
 for (int i = 0; i < M; i++)
  delete[] array[i];
 delete[] array;

数组可以通过下标随机访问元素,所以在修改、读取某个元素的时候效率很高,复杂度为O(1),在插入和删除某个元素的时候,需要移动前后的元素,所以平均复杂度为O(n)。

哈希表、字符串

哈希表,主要用于基于”键“的查找,储存的基本元素是键-值对。在逻辑上,数组可以作为哈希表的一个特例:键是一个非负整数。一般默认,键相同,基本储存元素相同。

哈希表的本质是当一个使用者提供一个键,根据哈希表自身定义的哈希函数(Hash Function),映射出一个下标,根据这个下标决定需要把当前的元素存储在什么位置。

在C语言中,字符串指的是一个以”\0”结尾的char数组。在C++中,String是一个类,并且可以通过调用类函数实现判断字符串长度等操作。

 

转载于:https://www.cnblogs.com/revenge/p/6085771.html

你可能感兴趣的文章
Swift 字符串
查看>>
Python 生成器 Generator 和迭代器 Iterator
查看>>
实现icon和文字垂直居中的两种方法-(vertical-align and line-height)
查看>>
[CareerCup] 3.6 Sort Stack 栈排序
查看>>
Beta版总结会议
查看>>
Cocos2d-x中使用的数据容器类
查看>>
创建ORACLE 查询用户
查看>>
jzoj3297. 【SDOI2013】逃考
查看>>
通过例子学python(2.1)
查看>>
高效率场景-内存映射
查看>>
Python基础——0前言
查看>>
机器学习三剑客之Numpy
查看>>
django路由转发
查看>>
HBase环境搭建随笔
查看>>
SAX vs. DOM (Event vs. Tree)
查看>>
堆排序原理及算法实现(最大堆)
查看>>
说说无线路由器后门的那些事儿(1)-D-Link篇
查看>>
AJAX POST&跨域 解决方案 - CORS
查看>>
C#基础之接口
查看>>
nio 序列化
查看>>