数据结构
tww85
这个作者很懒,什么都没留下…
展开
-
队列实现
栈是后进先出的,一般用在符号匹配,回溯,中断返回 队列是先进先出,使用场景很多,一般性的排队问题,缓冲区问题,生产者消费者问题。觉得队列应该都是循环的,否则没有多大实际意义。 如下使用顺序存储结构实现循环队列,类似一个缓冲区。 要点: 1. 队列满条件 2. 队列空条件 3. gcc编译需要加-lpthread (gcc test.c -lpthread) #include原创 2016-08-09 16:25:22 · 291 阅读 · 0 评论 -
栈的链表实现
栈的原理是后进先出,看懂未必能真正理解,理解了未必能写出来,写出来的未必能运行,所以动手写写还是有必要的。 写完修改了好一会才运行起来。 一是 结构体的2种定义方式搞不清了。 二是 指针的使用 三是 malloc一个结构体,和 java 搞混了 ,居然写成new struct StackNode{ int data; struct StackNode *原创 2016-08-09 12:19:41 · 291 阅读 · 0 评论 -
堆排序的讲解和实现
转自:http://www.2cto.com/kf/201308/239791.html 堆排序: 特点 堆排序(HeapSort)是一树形选择排序。堆排序的特点是:在排序过程中,将R[l..n]看成是一棵完全二叉树的顺序存储结构, 利用完全二叉树中双亲结点和孩子结点之间的内在关系(参见二叉树的顺序存储结构),在当前无序区中选择关键字最大(或最小)的记录转载 2016-11-06 20:51:21 · 447 阅读 · 0 评论