数据结构和算法
mango奇
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表的生成(用c语言)
#include#include #includetypedef struct Node { int data; struct Node * pNext;}NODE,* PNODE; //NODE 等价于 struct Node * PNODE等价于 struct Node * PNODE create_list(void); void traverse(PNODE);vo原创 2018-01-14 11:37:28 · 1411 阅读 · 0 评论 -
ArrayList生成(用C语言)
#include#include#includevoid init(struct Array * pArray,int length);void traverse(struct Array * pArray);bool is_empty(struct Array * pArray);bool is_full(struct Array * pArray);bool add(struct原创 2018-01-14 11:39:31 · 557 阅读 · 0 评论 -
快速排序
一趟快速排序的算法是:1)设置两个变量i、j,排序开始的时候:i=0,j=N-1;2)以第一个数组元素作为关键数据,赋值给key,即key=A[0];3)从j开始向前搜索,即由后开始向前搜索(j--),找到第一个小于key的值A[j],将A[j]和A[i]互换;4)从i开始向后搜索,即由前开始向后搜索(i++),找到第一个大于key的A[i],将A[i]和A[j]互换;5)重复原创 2018-01-22 15:27:45 · 303 阅读 · 0 评论 -
栈的生成(c语言)
#include#include#include//定义节点的结构体typedef struct Node{ int data; //节点存放的数据 struct Node * pNext; //节点的指针,指向下一个Node }NODE,* PNODE; //定义栈的结构体,栈只需要两个属性,一个是顶端top,另一个是底端bottom typedef struct Sta原创 2018-01-14 14:01:25 · 772 阅读 · 0 评论 -
静态队列为什么必须是循环队列
首先静态队列是基于数组实现的,如果是普通数组,规定font指向第一个元素的位置,rear指向最后一个元素位置的下一个位置假设现在进行入队操作,此时 rear(后面)指针往后移动一位;出队则是font向后移动一位,此时会出现一个问题,就是已经删除的元素所使用的空间无法继续使用;因为每次入队或者出队都是font或者rear向后移动一位,font指针无法往前移动,此时就会造成原创 2018-01-15 12:58:30 · 1833 阅读 · 2 评论
分享