本文目錄一覽:
能簡單的解釋一下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語言中,隊列是什麼意思,有什麼用途
其主要特點是先進先出,恐怕最主要的是消息隊列吧、、、期待下樓有長篇專門介紹的~~~~
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/219702.html