![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
成长er
以苦作乐何人懂?逍遥自在断世愁
展开
-
二叉树的遍历方式
我们都知道二叉树的遍历方式有先序遍历,中序遍历,后序遍历。先序遍历他们最基本的实现方式是递归实现,那如果我们想要用非递归方式来实现呢?首先,先序遍历的遍历方式是根-左-右递归方式代码实现:public List<Integer> inorderTraversal(TreeNode root){ List<Integer> list=new L...原创 2019-10-29 18:05:25 · 189 阅读 · 0 评论 -
线性表之顺序表基本操作的实现
这里我们实现顺序表的基本操作1.构建顺序表int InitList(SqlList *L,int List_Size){ L->elem=(int *)malloc(List_Size*sizeof(int)); //开辟一个大小为List_Size的存储空间 if(!L->elem) return -1; L->List_Size=...原创 2019-05-20 14:25:09 · 891 阅读 · 0 评论 -
线性表之链表基本操作的实现1
这里,我们首先实现单链表的基本操作。1.创建单链表LinkList CreateLinkList(LinkList L){ L=(LinkList)malloc(sizeof(LNode)); //创建一个头结点 L->next=NULL; //头结点的指针域为空 return L;}2.采用前插法插入数据void...原创 2019-05-20 15:34:48 · 440 阅读 · 0 评论 -
线性表之链表基本操作的实现2
这里,我们来实现循环链表的基本操作,我们采用单链表转换为循环链表:1.将单链表转换为循环链表ChangeLinkListToCkList(LinkList head) //这里只需要将最后的尾指针指向头结点{ LinkList p,p2=head,p1=head; while(p2){ //最后这个p就是链表指向尾结点的指针 ...原创 2019-05-20 21:34:28 · 673 阅读 · 0 评论 -
线性表之链表基本操作的实现3
这里,我们来实现双向循环链表的基本操作。1.创建双向循环链表DuLinkList CreateDuLinkList(DuLinkList L) //创建一个双向循环空链表{ L=(DuLinkList)malloc(sizeof(DuLNode)); L->next=L; //它的后驱指向自己 L->pr...原创 2019-05-21 16:38:12 · 293 阅读 · 0 评论 -
栈和队列之顺序栈的基本实现
什么是栈?栈是一个仅在表尾进行插入或删除的线性表,即后进先出线性表这里,我们来学习一下如何实现顺序栈的基本实现:初始化顺序栈:void InitStack(SqStack *s){ s->base=(User *)malloc(MAXSIZE*sizeof(int)); //开辟一个大小为AXSIZE的数组空间,数组元素为User s->t...原创 2019-05-28 10:10:06 · 315 阅读 · 0 评论 -
栈和队列之链栈的基本实现
将链栈的头部作为栈顶就很方便了,而且不必设置头结点,每次插入都是将结点设置为栈顶元素,每次删除都是将栈顶元素删除。具体实现如下:创建一个空链栈:void InitLinkStack(LinkStack S) //与其他链表不一样的是,这里不需要创建一个头结点{ S=NULL;}入栈:void Push(LinkStack &S,User u...原创 2019-05-28 11:24:35 · 174 阅读 · 0 评论 -
栈和队列之循环队列的基本实现
这里,我们来学习一下循环队列的基本操作:创建一个队列void InitQueue(SqQueue &q){ q.base=(User *)malloc(MAXSIZE*sizeof(int)); //为队列开辟内存空间 q.fron=q.rear=0; //队列初始为空队列}计算队列的长度int QueueLength(SqQue...原创 2019-05-29 15:17:02 · 693 阅读 · 0 评论 -
栈和队列之链队的基本实现
前面一章我们学习了循环队列,这里我们来看看链队的实现创建链队void InitLinkQueue(LinkQueue &q){ QueuePtr p=(QueuePtr)malloc(sizeof(QNode)); q.fron=q.rear=p; //生成一个头结点,并且让头指针和尾指针都指向该结点 q.fron->next=NULL...原创 2019-05-29 19:54:14 · 225 阅读 · 0 评论