c语言
文章平均质量分 71
J_小浩子
我把在学习过程中的bug发表在CSDN上,才疏学浅,班门弄斧。
展开
-
数据结构(三)
接着链表,删除一个结点:方法一: p->pNext=p->pNext->pNext;方法二: r=p->pNext; p->pNext=p->pNext->pNext;free(r)很显然,方法一虽然删除了p的下一个结点,可是被删结点的内存还标记着使用状态,系统并没有回收,造成内存泄漏。方法二是方法一的解决方法。补充:线性结构:能用一根线把所有结点串起来,数组,链表是典型的线性结构原创 2016-02-21 21:47:41 · 492 阅读 · 0 评论 -
数据结构(五)
接着队列,下面是队列的代码实现:#include #include #include typedef struct Queue{ int * pBase; int front; int rear;}QUEUE;void init(QUEUE *);//初始化bool full_queue(QUEUE *);//判断是否满bool en_queue(QUEUE原创 2016-02-21 21:55:11 · 786 阅读 · 0 评论 -
数据结构(七)
接着树:树的专业术语: 结点 父结点 子结点 子孙 堂兄弟深度:从根结点到最底层结点的层数称为深度叶子结点:没有子结点的结点非终端结点:实际上就是非叶子结点度:子结点的个数称为度 树分类: 一般树:任意一个结点的子结点个数不受限制 二叉树:任意一个结点的子结点个数最多两个,且子结点的位置不可更换原创 2016-02-21 22:01:27 · 515 阅读 · 0 评论 -
数据结构(八)
接着二叉树:已知中序和先序,中序和后序求原始二叉树:先从先序和后序开始找根结点,再定位到中序找出根结点的左子树和右子树,再依次递归找出各位非终端结点。 示例1先序:ABCDEFGH中序:BDCEAFHG求后序:DECBHGFA 示例2先序:ABDGHCEFI中序:GDHBAECIF求后序:GHDBEIFCA 示例3中序:BDCEAFHG后原创 2016-02-21 22:07:53 · 618 阅读 · 0 评论 -
将一个数组拆分成两个数组,两个数组的差的绝对值最小
要求如题,是qq群里一个大神让我敲的demo,花了2个小时,用c语言实现。但是数组的元素只能是正数!思路是: 1).先求出数组的总和sum, sum/2=mid 2).然后将数组的元素跟mid比较,取出跟mid最接近的元素,放在第一个小数组里,然后在原来数组删除刚刚被取出的元素,更新原来数组 3).接着再取出离mid最近的元素,放在第二个小数组,在原数组中删除刚刚被取出的元素,更新原来数组原创 2017-03-06 22:21:41 · 14389 阅读 · 3 评论