鏈式佇列的實現

2021-09-01 17:09:33 字數 1613 閱讀 1928

[align=center][b]佇列(c++)[/b][/align]

/*---------------------- 簡單佇列的鏈式實現------------------------- */

/*功能:

1、以一定數目的元素初始化乙個佇列

2、判斷佇列是否為空

3、按佇列順序展示佇列元素值

4、刪除乙個佇列結點

5、獲得佇列的第乙個元素值

6、向佇列中加入乙個元素結點

*/#include

#include

using namespace std;

typedef int elemtype;

typedef struct node *queuenode;

typedef struct indexnode *indexqueue;

//函式宣告

void initqueue(indexqueue);

queuenode initnode();

void initqueue(indexqueue , int);

void displayqueue(indexqueue);

bool isemptyqueue(indexqueue);

elemtype pop(indexqueue);

elemtype gethead(indexqueue);

void push(indexqueue , elemtype);

int main()

//初始化乙個空的佇列

void initqueue(indexqueue iqueue)

//初始化乙個結點

queuenode initnode()

//初始化乙個帶元素值的佇列

void initqueue(indexqueue iqueue , int length) else }}

//展示佇列裡面所有元素

void displayqueue(indexqueue iqueue)

cout << endl;

}//判斷佇列元素是否為空

bool isemptyqueue(indexqueue iqueue)

return false;

}//取出乙個佇列元素

elemtype pop(indexqueue iqueue)

queuenode qcurr = iqueue->head;

iqueue->head = qcurr->next;

elemtype ereturn = qcurr->data;

free(qcurr);

return ereturn;

}//獲得佇列第乙個元素

elemtype gethead(indexqueue iqueue)

return iqueue->head->data;

}//向佇列尾新增元素

void push(indexqueue iqueue , elemtype insertvalue)

iqueue->rear->next = qinsert;

iqueue->rear = qinsert;

}

鏈式佇列的實現

typedef struct nodelinklist typedef structlinkqueue void setnull linkqueue p set a empty queue,front and rear pointer both point to a head node void q...

鏈式佇列的實現

include include define n 10 定義結點 typedef struct node node 定義佇列 typedef struct queue queue 判斷佇列是否為空 int empty queue queue 初始化佇列 queue init 入隊 int inque...

佇列的鏈式實現

今天最後老師問當棧的鏈式實現完成後,再實現佇列,是否會簡單?我回答,是的。我的理由很簡單,因為操作相同,其他的也應該類似,所以不會太難。至於實現之後,我的感受是怎麼樣的,我留在最後再說,順便總結一下。下面是標頭檔案 ifndef linklistqueue h define linklistqueu...