摘要:
二叉查找树,树中每个结点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树种所有关键字值大于X的关键字值。 代码如下: 对于树的操作中,最复杂的要数删除操作,具体分三种情况:1.要删除的结点是叶子节点;2要删除的结点有1个儿子;3.要删除的结点有2个儿子。具体实现看代码: 阅读全文
posted @ 2016-08-13 23:55
九杯水
阅读(93)
评论(0)
推荐(0)
摘要:
像栈一样,队列也是表。然而,使用队列时插入在一端进行,删除在另一端进行。 队列的基本操作是Enqueue(入队),它是在表的末端(叫做队尾),和Dequeue(出队),它是删除在表头的元素(叫做对头)。 上代码: 当在队尾增加一个元素时,tail+1; 当对头删除一个元素是,head+1; 当tai 阅读全文
posted @ 2016-08-13 23:28
九杯水
阅读(106)
评论(0)
推荐(0)
摘要:
前一篇写了链表栈,这一篇写数组栈 阅读全文
posted @ 2016-08-13 23:09
九杯水
阅读(169)
评论(0)
推荐(0)
摘要:
栈的基本操作有Push(入栈)和Pop(出栈),前者相当于插入,后者相当于删除最后插入的元素,两个都是在栈顶进行操作的。栈也叫做LIFO(后入先出)表。 对于栈的实现既可以使用链表,也可以使用数组,本文采用的是链表栈。 首先,是定义结构体 下面是入栈和出栈的具体实现,S作为头结点,始终指向top元素 阅读全文
posted @ 2016-08-13 22:50
九杯水
阅读(156)
评论(0)
推荐(0)
摘要:
首先,需要定义一个链表的结构体 1 struct Node 2 { 3 ElementType Element; 4 Position Next; 5 }; 然后,你可能还需要这样定义几个别名,方便后面使用。 typedef struct Node *PtrToNode; typedef int E 阅读全文
posted @ 2016-08-13 22:21
九杯水
阅读(97)
评论(0)
推荐(0)

浙公网安备 33010602011771号