zoukankan      html  css  js  c++  java
  • 数组与字符串一(概念和基础)

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

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

    数组,是常见的数据结构之一,用于存储一系列相同类型的数据。从底层实现上来看,“开辟一个数组”相当于系统为你提供了一段连续内存区间用于存储数据。数组名就是一个指针,在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语言中,字符串指的是一个以””结尾的char数组。在C++中,String是一个类,并且可以通过调用类函数实现判断字符串长度等操作。

  • 相关阅读:
    【摄影】EOS 6D通过WIFI连接手机
    【Teradata SQL】dayofyear与td_day_of_year函数区别
    【PS技巧】如何修人物的脸型
    【Teradata数据保护机制】锁
    【数据库】SQL标准定义的四个事务隔离级别
    【TD函数】Teradata正则表达式函数
    Teradata复杂视图跨库访问权限问题
    CPU芯片组与总线
    单核CPU、多个CPU(路)、超线程技术、多核CPU(物理核、逻辑核)
    Idea删除当前类所有的注释
  • 原文地址:https://www.cnblogs.com/revenge/p/6085771.html
Copyright © 2011-2022 走看看