以图明志

数据结构

[专题] 补完链队列的其它常见操作

置空、求长度、判断空等
返回队头元素:若队列不空,则用e返回Q的队头元素,并返回OK,否则返回ERROR。求队列的长度:求链队列的长度,用一个工作指针遍历队列然后记录长度即可。判断队列是否为空:判断链队列是否为空很简单,比较队头指针与队尾指针是否重合即可,Q.front==Q.rear 。

数据结构

[专题] 顺序队列置空与判断操作

判断空队列
关于顺序队列,还有些ADT里的操作没有实现,今天实现下吧。比如置空顺序队列。置空顺序队列操作比较简单,只要让队头指针与队尾指针相等即可。判断队列是否为空,可以借鉴上面的函数。如果队头指针与队尾指针相等,那么队列就是为空。注意函数里传入的是实体对象,实体对象需要用实心点来指向成员,所以判断条件写成 Q.front==Q.rear。

数据结构

[专题] 链栈的置空操作与判断链栈是否为空

与单链表的置空操作相同
判断链栈是否为空很简单,还记得结构体定义时的那个 count 吗?如果那个 count 为0,就说明链栈为空。置空链栈就没有置空顺序栈那么简单了。置空顺序栈只要一步 S->top=-1; 即可,但是对于链栈却不是那么回事了。方法是设置两个工作结点,开始循环。在释放p之前,让q成为p的后继。还是那个比喻,在皇帝死之前,册封皇子。free(p); 皇帝死了,p=q; 皇子就成了新皇帝。

数据结构

[专题] 第06话:判断线性表是否为空与置空操作

直接对表的length属性操作
ADT里判断线性表是否为空的函数设计如下:bool listEmpty(L); //判断一个线性表是否为空,不修改表传值。其实就是判断表的长度是否为0而已。将表置空的函数就更简单了,直接将长度赋值为0即可。这两个函数如果要测试的话可以自行加入到上一篇的完整可运行代码里。
1 / 1 首页 < Prev 1 Next > 尾页 页码: