[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...