数据结构
文章平均质量分 82
NANit
无
展开
-
算法与数据结构基础知识---链表
• 链表是一系列的存储数据元素的单元通过指针串接起来形成的,因此每个单元至少有两个域,一个域用于数据元素的存储,另一个或两个域是指向其他单元的指针。这里具有一个数据域和多个指针域的存储单元通常称为节点(node)。• 链表的第一个节点和最后一个节点,分别称为链表的头节点和尾节点。尾节点的特征是其 next 引用为空(null)。链表中每个节点的 next 引用都相当于一个指针,指向另一个节点,借助这些 next 引用,我们可以从链表的头节点移动到尾节点。• 链表数据结构中主要包含单向链表、双向链表及循环原创 2021-01-13 20:06:42 · 214 阅读 · 0 评论 -
顺序表的插入
#include "stdlib.h"#define InitSize 10//默认的最大长度typedef struct{ int *data;//指示动态分配数组的指针 int MaxSize;//顺序表的最大容量 int Length;//}SeqList;//在L的第i个位置插入元素evoid ListInsert(SeqList &L,int i,int e){ for(int j=L.Length;j>=i;j--) { .原创 2020-11-19 12:57:23 · 2895 阅读 · 0 评论 -
顺序表的动态分配
顺序表的特点:1.随机访问,即可以在O(1)时间内找到第i个元素2.扩展容量不方便(即使采用动态分配的方式实现,拓展长度的时间复杂度也比较高)3.插入、删除操作不方便,需要移动大量元素主要代码如下:#include "stdlib.h"#define InitSize 10//默认的最大长度typedef struct{ int *data;//指示动态分配数组的指针 int MaxSize;//顺序表的最大容量 int Length;//}SeqList;voi原创 2020-11-18 22:25:42 · 991 阅读 · 2 评论