您的位置:

c语言有内置的队列吗,c++使用队列

本文目录一览:

能简单的解释一下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语言中,队列是什么意思,有什么用途

其主要特点是先进先出,恐怕最主要的是消息队列吧、、、期待下楼有长篇专门介绍的~~~~