OC数据结构00:入门

张建 lol

概述

  • 数据结构概念:

我们把现实中 大量复杂的问题 以特定的数据类型和特定的存储结构保存到 主存储器(内存)中,在此基础上实现某个功能(排序等)的操作叫 算法

数据结构 = 元素 + 元素关系

算法 = 对数据结构的操作

  • 算法:解决问题的方法和步骤

衡量标准:

时间复杂度:算法要执行的次数,非执行时间

空间复杂度:算法执行过程 大概要占用的最大内存

指针定义

  • 地址

地址是内存单元的编号,其编号从 0 开始的非负整数,范围:0 – 0xFFFFFFFF x64平台下最大内存地址为 2^64 - 1

  • 指针

指针就是地址,地址就是指针* = &指针变量 是存放 内存单元地址 的变量,它内部保存的值是对应的 地址地址就是内存单元编号

例子:

1
2
3
4
5
6
int  i = 10; // 定义一个 整形变量 i 初始值 10
int *p = i; // 定义一个 整形的指针变量p,变量p 指向 i的地址

// 这两行等于上面两行
int *p;
*p = &i;

结构体

结构体是用户根据自己的实际需要,自定义的复合数据类型

1
2
3
4
5
6
7
8
9
10
// 学生类型
typedef struct Student { // 结构体定义
int age;
char *name;
}myStudent;

// 直接传递 只占用 4 byte 的指针,省时效率也高<推荐用法>
void func(struct Student *p){
print("age = %d",p)
}

有两种结构体的使用方式:

  • 直接使用
1
struct Student stu = {12,"xiaojian"};
  • 通过指针使用
1
2
struct Student *p = &stu;
p -> age = 31;
  • Post title:OC数据结构00:入门
  • Post author:张建
  • Create time:2022-11-23 08:55:26
  • Post link:https://redefine.ohevan.com/2022/11/23/OC数据结构和算法/OC数据结构00:入门/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
On this page
OC数据结构00:入门