• 数组与字符串一(概念和基础)


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

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

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

  • 相关阅读:
    上海第八中学 shader
    http://www.riemers.net/
    手写板驱动
    使用dos 作为中介实现cpython 和c# 交互
    判断一个点是不是在三角形中 用面积算法
    Python os.chmod
    Python 的stat 模块
    文件格式说明
    win7 一切软件都安装不上 解决 把他卸掉
    执行力
  • 原文地址:https://www.cnblogs.com/revenge/p/6085771.html
Copyright © 2020-2023  润新知