資料結構 佇列

2021-05-24 23:50:16 字數 1146 閱讀 5662

一、佇列的迴圈陣列實現。

1、初始化 空佇列。

令rear=front=0。

2、入佇列

約定rear指向佇列尾元素的下乙個位置。入佇列時,先判斷佇列是否已滿,而後將array[rear]=x;然後rear++。

3、出佇列

約定front指向佇列的首元素位置。出佇列時,先判斷佇列是否為空,而後返回隊首元素re=array[front];然後front++;注意,出、入佇列,指標都向上增加。

4、判斷佇列是否為空

兩種辦法。第一種,設定乙個標誌為。第二種,約定rear==front相等時為空。(rear+1)%maxsize==front時為滿  

5、判斷佇列是否已滿

有兩種辦法。第一種,設定乙個標誌位。第二種,少用乙個元素。也就是約定「若rear指標的下一位是front指標,則佇列滿」。

6、計算佇列元素的個數

(rear-front+maxsize)%maxsize. 注意,對陣列長度取餘!

二、c語言中,將變數放在.h檔案和.c檔案中的差異。

.h檔案中,為了防止重複定義,需要在.h檔案中加入:

#ifndef _stack_h

#define _stack_h

#endif

可以參考

這篇文章。

比如說乙個結構體:

struct node

如果寫在stack.c檔案中,則只能在該stack.c檔案中通過node s;s.id來訪問s中的id變數。若在main.c檔案中node s;s.id來訪問,則會出現"left of 'id' specifies undefined struct/union 'node'"錯誤。因為在這個main.c檔案中找不到這個node結構體,也無法引用到stack.c檔案(或其他.c檔案)中的變數!!!

如果想在main.c檔案中引用結構體內的變數,則需要將上面一段定義放在stack.h檔案中,然後在main.c檔案引用stack.h檔案即可!

三、vc++6.0中如何對**進行快速注釋?(快捷鍵,小技巧)

安裝visual assist後,選中要注釋的**行,按住鍵盤上的"/"鍵即可注釋,再按一次則可以取消注釋。

資料結構 佇列

資料參考自 資料結構c 語言描述 佇列是一種先進先出的資料結構,這與棧正好相反。下例是簡單的queue實現 queue.h檔案 ifndef queue h define queue h include include 資料元素結構 自定義 struct datatype 佇列元素最大數 const...

資料結構 佇列

code for fun created by dream whui 2015 1 25 include stdafx.h include include using namespace std define true 1 define false 0 define ok 1 define erro...

資料結構 佇列

佇列是一種有序的線性表,佇列的兩端分別稱為隊首和隊尾。佇列只允許在隊尾進行插入操作,在隊首進行刪除操作。插入元素稱為入隊,刪除元素稱為出隊。佇列常用鍊錶或陣列來實現。include include using namespace std define max 1000 佇列定義 struct ele...