链式队列的一个问题

问题描述

两个问题求大神解析:1 一个链式队列的队头和队尾指针分别为f和r,则判断对空的条件为————A f != NULL B r != NULL C f == NULL D f == r2 一个带头节点的链式队列的头指针f指向头节点,队尾指针为r,则判断队列为空的条件为——————A f != NULL B r != NULL C f == NULL D f == r

解决方案

1. 题目没有说清楚是否带头结点,假设不带头结点,队头队尾指针分别为f和r,则f和r都指向真正的节点,那么f==r表示f和r指向同一个节点,这时,队列中只有一个节点,只有f==r==null时表示队列为空,故为C;若带头结点,则和2一样2. 因为队列有头节点,所以f不可能为null(若f==null,则这个队列在内存中丢失),f始终指向头结点,因此当r也指向头结点时表示队列为空,故为D
解决方案二:
1.C 2.D
解决方案三:
1. D 2.C
解决方案四:
1是C2是D1的队列没有头结点,也就是说都是数据节点,而A、B和D都说明有数据节点2的队列有头结点,所以只有当front等于rear时才是没有插入数据节点的时候
解决方案五:
这里copy 下别人的介绍:链式队列只 允许从头部进行删除、尾部进行插入.需要为链式队列 创建一个头结点包括两个指针,指向队头的指针(front) 与指向队尾的指针(rear).当两个指针相等时队列为空可以看看图: - -http://image.baidu.com/i?ct=503316480&z=&tn=baiduimagedetail&ipn=d&word=%E9%93%BE%E5%BC%8F%E9%98%9F%E5%88%97&step_word=&ie=utf-8&in=15606&cl=2&lm=-1&st=&pn=3&rn=1&di=90929432000&ln=1985&fr=&&fmq=1399622086969_R&ic=&s=&se=&sme=0&tab=&width=&height=&face=&is=&istype=&ist=&jit=&objurl=http%3A%2F%2Fimg.ph.126.net%2FnL3STlpNOlyTrz33ChiQfg%3D%3D%2F3230769782686441865.jpg#pn3&-1&di90929432000&objURLhttp%3A%2F%2Fimg.ph.126.net%2FnL3STlpNOlyTrz33ChiQfg%3D%3D%2F3230769782686441865.jpg&fromURLippr_z2C%24qAzdH3FAzdH3Fks52_z%26e3B8mn_z%26e3Bv54AzdH3F27k7aa0AzdH3Fks52AzdH3FfpwptvAzdH3Fn80c8dcnda8dmn8n8m988a9AzdH3F&W546&H122&T8764&S10&TPjpg第一个我觉得选D:第二个我看图:http://image.baidu.com/i?ct=503316480&z=&tn=baiduimagedetail&ipn=d&word=%E5%B8%A6%E5%A4%B4%E8%8A%82%E7%82%B9%E7%9A%84%E9%93%BE%E5%BC%8F%E9%98%9F%E5%88%97&step_word=&ie=utf-8&in=4427&cl=2&lm=-1&st=&pn=0&rn=1&di=145800726060&ln=1833&fr=&&fmq=1399622457779_R&ic=&s=&se=&sme=0&tab=&width=&height=&face=&is=&istype=&ist=&jit=&objurl=http%3A%2F%2Fwww.51cto.com%2Ffiles%2Fuploadimg%2F20090706%2F151020441.jpg#pn0&-1&di145800726060&objURLhttp%3A%2F%2Fwww.51cto.com%2Ffiles%2Fuploadimg%2F20090706%2F151020441.jpg&fromURLippr_z2C%24qAzdH3FAzdH3Fk55h_z%26e3Bc8vp5_z%26e3Bv54AzdH3Fw6pAzdH3Fdaala0AzdH3F8n9800_z%26e3Bip4&W454&H321&T9750&S16&TPjpg第二个:C
解决方案六:
1. C 2.D
解决方案七:
1. D 2.C

时间: 2024-09-20 06:00:23

链式队列的一个问题的相关文章

数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列

一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其另一端进行删除操作. 队列中允许进行插入操作的一端称为队尾,允许进行删除操作的一端称为队头.队列的插入操作通常称作入队列,队列的删除操作通常称作出队列. 下图是一个依次向队列中插入数据元素a0,a1,...,an-1后的示意图: 上图中,a0是当前 队头数据元素,an-1是当前 队尾数据元素. 为了

有序链式队列

  编写头文件 struct queue {     int num;            //代表数据     int high;           //优先级1111     struct queue *pNext;//存储下一个节点的地址 }; typedef  struct queue Queue;                           //简化队列 Queue * init(Queue *queueHead);                        /

数据结构之自建算法库——链队(链式队列)

本文针对数据结构基础系列网络课程(3):栈和队列中第10课时队列的链式存储结构及其基本运算的实现. 按照"0207将算法变程序"[视频]部分建议的方法,建设自己的专业基础设施算法库. 链队算法库采用程序的多文件组织形式,包括两个文件: 1.头文件:liqueue.h,包含定义链队数据结构的代码.宏定义.要实现算法的函数的声明: #ifndef LIQUEUE_H_INCLUDED #define LIQUEUE_H_INCLUDED typedef char ElemType; typ

链式队列(数据结构C#)

http://hi.baidu.com/bbjjss2008/blog/item/5c8f224572da0921cffca3a3.html

链式队列

QueueNode.h template<typename Type> class LinkQueue; template<typename Type> class QueueNode{ private: friend class LinkQueue<Type>; QueueNode(const Type item,QueueNode<Type> *next=NULL) :m_data(item),m_pnext(next){} private: Type

基本数据结构之队列的链式表示

该队列为链式队列,初建队列时,队头和队尾均指向头结点,头结点中不存放数据,只存放指针,头结点的下一个节点才开始存放数据,这这样做的目的是为了在入队和出队时方便对队列的操作,而不用考虑特殊情况. C语言源代码 #include<stdio.h> #include<stdlib.h> typedef struct Node { int data; struct Node *pNext; }NODE,*PNODE; typedef struct Queue { PNODE front;

大话数据结构九:队列的链式存储结构(链队列)

1. 链队列的特点: 链队列其实就是单链表,只不过它是先进先出的单链表,为了实现方便,程序中设置了队头(front),队尾(rear)两个指针. 2. Java使用链表实现队列: //结点类,包含结点的数据和指向下一个节点的引用 public class Node<E> { private E data; // 数据域 private Node<E> next; // 指针域保存着下一节点的引用 public Node() { } public Node(E data) { thi

数据结构的C++实现之队列的链式存储结构

队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已,我们把它简称为链队列.为了操作上的 方便,我们将队头指针指向链队列的头节点,而队尾指针指向终端节点.空队列时,front和rear都指向头节点. 示例程序 :(改变自<大话数据结构>) #include<iostream> using namespace std; typedef int ElemType; typedef struct Node { ElemType data; struct Node *nex

队列的动态链式存储实现代码分享_C 语言

复制代码 代码如下: #include <stdlib.h>#include <malloc.h>#include <memory.h>#include <assert.h>#include "DynaLnkQueue.h" /*------------------------------------------------------------操作目的: 初始化队列初始条件: 无操作结果: 构造一个空的队列函数参数:  LinkQue