数据结构
LTXER
这个作者很懒,什么都没留下…
展开
-
反转一个单链表
#include <stdio.h>#include <stdlib.h>typedef int sdatatype;typedef struct slistnode//单链表节点{ sdatatype _data; struct slistnode *pnext;}node,*pnode;typedef struct slist//给一个头指针保存第一个...原创 2019-07-09 16:20:56 · 789 阅读 · 0 评论 -
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
#include <stdio.h>#include <stdlib.h>#include<assert.h>typedef int sdatatype;typedef struct slistnode//单链表节点{ sdatatype _data; struct slistnode *pnext;}node, *pnode;typedef...原创 2019-07-10 14:29:59 · 2690 阅读 · 0 评论 -
输入一个链表,输出该链表中倒数第k个结点
#include <stdio.h>#include <stdlib.h>#include<assert.h>typedef int sdatatype;typedef struct slistnode//单链表节点{ sdatatype _data; struct slistnode *pnext;}node, *pnode;typedef...原创 2019-07-10 14:41:57 · 972 阅读 · 0 评论 -
动态栈
stack.h#pragma oncetypedef int STdatatype;typedef struct stack { STdatatype *array; int size; int capacity;}Stack;void checkcapacity(Stack *ps);void StackInit(Stack* ps);void StackDestory...原创 2019-07-12 00:40:45 · 151 阅读 · 0 评论 -
队列
queue.h#pragma oncetypedef int Qdatatype;typedef struct QueueNode{ struct QueueNode* next; Qdatatype data;}QueueNode;typedef struct Queue{ QueueNode * _front; QueueNode * _rear;}Queue;...原创 2019-07-12 16:19:40 · 79 阅读 · 0 评论 -
常见排序算法
1.插入排序 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。 当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[...原创 2019-09-01 21:47:05 · 138 阅读 · 0 评论 -
根据前序中序还原二叉树+后续遍历+求树的高度
前序遍历:先访问当前节点,再访问当前节点的左子树,最后访问当前节点的右子树。对于二叉树,深度遍历与此同。规律:根在前;子树在根后且左子树比右子树靠前,且第一个就是根节点;中序遍历:先访问当前节点的左子树,然后访问当前节点,最后是当前节点的右子树,二叉树,中序遍历会得到数据升序效果。规律:根在中;左子树在跟左边,右子树在根右边,左边部分是根结点的左子树的中序遍历序列,右边部分是根结点的右子树的中...原创 2019-09-06 22:14:39 · 874 阅读 · 0 评论