数据结构
every_is_fine
这个作者很懒,什么都没留下…
展开
-
栈和队列--队列
1、队列与栈一样,都是操作受限,即都是只允许在头或尾进行操作。2、原创 2021-11-21 09:25:00 · 262 阅读 · 0 评论 -
栈和队列--栈
1、顺序栈一组地址连续的存储单元加一个标识栈顶元素的指针。#define MaxSize 50 //定义栈中最大元素个数typedef struct{ ElemType data[MaxSize];//存放栈中的元素 int Top;//栈顶指针}SqStack;栈空:s.top==-1栈满:s.top==MaxSize-1栈长:s.top+12、顺序栈的方法(1)初始化InitStackvoid InitStack(SqStack &S){ S.top=-1;原创 2021-11-14 21:09:12 · 753 阅读 · 0 评论 -
链式存储--双链表\循环链表
1、为了克服单链表访问后继元素的时间复杂度为O(1),访问前驱元素的时间复杂度为O(2)原创 2021-11-11 17:28:00 · 584 阅读 · 0 评论 -
链式存储--单链表
1、顺序存储与链式存储的区别顺序存储可以随机存取,即可以随时存或取表中的任何一个位置的元素,不需要遍历,但插入以及删除时需要移动大量元素。顺序存储需要大量的连续的存储单元。链式存储则相反。链式存储浪费了指针域的空间。2、头插法建立单链表思想:(1)创建头结点,指向空(2)循环输入值(3)创建结点,将值放入进去。LinkList ListByHead(LinkList &L){ LNode *s;int x; L=(LinkList)malloc(sizeof(LNode)); //原创 2021-11-10 15:19:50 · 764 阅读 · 0 评论 -
顺序存储--顺序表
1.顺序表L#define InitSize 100typedef struct{ ElemType *data; int MaxSize,Length;}SeqList;2、 在顺序表L中第i个位置插入一个元素e思路:第i个位置之后的元素后移,并将每一个元素都往后挪一个位置,在将e放入第i个位置,注意第i个位置的数组下标是i-1bool ListInsert(SqList &L,int i,ElemType e ){ if(i<1||i>L.length+1)原创 2021-11-08 21:35:12 · 757 阅读 · 0 评论