FWQ
数据结构与算法-数组 & 链表
数组是一种常见的线性表结构,它用一组连续的内存空间,来存储一组具有相同类型的数据;定义中标识出来的,是数组的3个基本特性;线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向,除了数组外,链表,队列,栈也都是线性表结构;与它对应的是非线性表结构,如二叉树、堆、图等; 链表也是一种常见的线性表结构,它用一组非连续的内存空间,来存储一组具有相同类型的数据;注意和数组的区别,与数组最大的区别在于,链表是使用一组非连续的内存空间,链表分为单向链表、循环链表、双向链表、双向循环列表; 下面将通过代码实例,来分析这2种数据结构,在查找、插入、删除等常用操作上的区别 一、结构 1、数组的结构 var arr = [5]int64{1,2,8,7,6} fmt.Printf("%p\n", &arr) for i,_ := range arr { fmt.Printf("第%d元素的内存地址:%p\n", i, &arr[i]) } 输出结果: 0xc000194000 第0元素的内存地址:0xc000194000 第1元素的内存地址:0xc000194008 第2元素的内存地址:0xc000194010 第3元素的内存地址:0xc000194018…