本文目录一览:
能简单的解释一下C语言中的栈,队列,表之类的吗?
栈,队列,表,树等都是一种数据结构;
在队列结构中数据先进先出,如同一个单行道,先来的数据排在前面,可以先出来,而后来的只能排队等待;
栈恰好相反,栈结构中,数据是先进后出;如同一个木桶。先来的被压在最下面,后来的在上面,要使先来的出来,就要先让后来的出来;
树是一种一对多是结构
C语言,队列
函数scanf格式化读取输入字符、数字的时候,只读取固定大小的数据,多余的数据(换行符,多输入的字符就留在了输入流中),继续作为输入。
void main()
{
QueptrTp lq;
int n;
char ch;
InitQueue(lq);
while(1)
{
printf("\n请输入命令:");
scanf("%c",ch);
fflush(stdin); //刷新缓冲区,清除缓冲区中多余的字符、换行符
/*if(ch90)
{
ch=ch-32;
}*/
switch(toupper(ch))
{
case 'A':
printf("输入病历号\n");
scanf("%d",n);
fflush(stdin);//刷新缓冲区,清除缓冲区中多余的字符、换行符
EnQueue(lq,n);
break;
case 'N':
if(!EmptyQueue(lq))
{
OutQueue(lq,n);
printf("病历号为%d的病人就诊",n);
}
else
printf("无病人等待就诊\n");
break;
case 'Q':
printf("排队等候的病人依次就诊\n");
break;
}
if(toupper(ch)=='Q')
{
while(!EmptyQueue(lq))
{
OutQueue(lq,n);
printf("病历号为%d的病人就诊\n",n);
}
break;
}
}
}
C语言中链表与队列有很么区别?
楼主你好。
链表是一种数据结构,而队列是一种抽象的概念,就像栈一样。
船是一个比较抽象的概念,具体实现有木船、铁船等等。队列好比是船,链表好比是造船的材料。
队列可以用链表实现,也可以用动态数组实现,这个抽象的概念可以用各种具体的数据结构实现。
SQQUEUE的第一个元素elemtype
*elem;其实是指向了一个数组,该数组中存储着类型为elemtype的元素,然后front和rear就标识了队首和队尾元素对应的数组下标。
typedef
struct
_Point{
int
x,y;
}Point;
#define
elemtype
Point//这个elemtype可以是任意你自己定义的结构,可以是结构体,也可以是简单数据类型
elemtype
array[10]={0};//这个是队列的数据结构,在这里是一个Point数组
SQQUEUE
queue={0};
queue.elem=array;//这样array中的元素就是queue中的元素了。
queue.front=queue.rear=queue.size=0;
你说的next指针是链表节点中的成员。你想想链表和链表节点间的区别。
typedef
struct
_ListNode{//这是链表节点
int
x,y;//这是存储的数据
struct
_ListNode
*next;
}ListNode;
typedef
struct
_List{//这是链表,这里并不存储next
ListNode*
front,rear;
}List;
如果还不懂,可以追问我。
C语言中使用队列
如果你用vc,#includedeque就好了,但是注意要加上using naemspace std;
我是当你用的c++的STL,STL中没有真正的队列和栈,他们都是通过对双端队列的改造得到的,所以包含的文件可能和你想的不一样。而且这些头文件都没有.h结尾!很特别
如果你不是vc,当我没说
C语言队列
C语言的队列(queue),是指先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作
单链表形式(单链队列使用链表作为基本数据结果,因此不存在伪溢出的问题,队列长度也没有限制。但插入和读取的时间代价会比较高)
C语言中,队列是什么意思,有什么用途
其主要特点是先进先出,恐怕最主要的是消息队列吧、、、期待下楼有长篇专门介绍的~~~~