- 博客(6)
- 收藏
- 关注
原创 数据结构之栈
决定采用何种方式来存储数据是非常重要的,这样便于检索数据时,数据会自动按照某种规定的顺序给出。 栈是检索数据的一种方式,它检索元素的顺序与存储元素的顺序相反。 栈:先进后出。 要把元素存储到栈中,就“压入”元素,要删除栈中的元素,就“弹出”元素。 有时候,可以通过检查栈顶的元素(而不是实际去删除它)来获取元素的某些信息。 实现栈的方式有很多,这里采用链表来实现。因为栈本身就是个链
2015-11-30 22:24:17 296
原创 双向链表
双向链表的每个元素都包含三部分,前驱指针,数据域,后继指针。为了标识链表的头部和尾部,将第一个元素的prev和最后一个元素的后继都设置为NULL。 双向链表比单链表在有些时候更灵活。 单链表若要访问某个元素,就必须从头部开始遍历。如果想再访问之前的元素,仍然要从头开始遍历,以为单链表只维护向后的。 双向链表一个很大的好处就是,当我们知道元素存储在链表的某处时,我们可以明智的选择按照何种方式去
2015-11-25 23:33:14 352
原创 循环链表
以下是循环单向链表的接口定义: #ifndef _CLIST_H #define _CLIST_H #include typedef struct CListElmt_ { void *data; struct CListElmt_ *next; }CListElmt; typedef struct CList_ { int size; void (*destroy)(void
2015-11-18 23:38:19 348
原创 数据结构之单链表
单向链表,大致操作有插入,删除,遍历,查找,销毁,它存取方便,只要修改节点的指针域即可。只是查找时,每次都需要从第一个开始遍历查找。 第一个节点只有直接后继,最后一个节点只有直接前驱。 对于插入操作,有头插法,尾插法,任意插,这些我们在实际运用中都要考虑到。它的一优势就是节省空间,灵活。而顺序表就容易造成空间的浪费。插入删除操作还会造成大量数据的移动。 单链表其实我认为是一种更为实用的数据类
2015-05-18 21:45:26 314
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人