鏈式佇列(無頭結點)
注意事項:帶頭結點的鏈式佇列在出佇列時,出最後乙個元素的與出其它元素不同,出非最後乙個元素,隊尾指標不變,一直指向第乙個元素,當出最後乙個元素時,隊尾指標改變指向隊頭(也就是指向頭結點),認真看看這裡(這個例子並沒看到帶頭結點方便)
//編譯環境 vs2008
queue
.h#pragma once
#include
#include
#include
typedef int datatype;
typedef struct node
node,*pnode;
typedef struct queue
queue;
//初始化
void initqueue(queue
* q);
//佇列尾插
void queuepush(queue
*q,datatype data);
//佇列頭刪
void queuepop(queue
*q);
//建立乙個結點
pnode buynode(datatype data);
//佇列是否為空
int queueempty(queue q);
//佇列的大小
int queuesize(queue
*q);
//隊頭元素
datatype queuefront(queue
*q);
//隊尾元素
datatype queueback(queue
*q);
//銷毀的佇列
void queuedestroy(queue
*q);
#define _crt_secure_no_warnings 1
#include
"queue.h"
//初始化
void initqueue(queue
* q)
//隊尾進元素
void queuepush(queue
* q,datatype data)
//佇列頭刪
void queuepop(queue
*q) else
}//判斷佇列是否為空
int queueempty(queue q) //這裡可以傳佇列的位址,但是直接傳佇列已經足夠
//佇列的大小
int queuesize(queue
*q) return count;
}//隊頭元素
datatype queuefront(queue
*q) return q->_phead->_pnext->_data;
}//隊尾元素
datatype queueback(queue
*q) return q->_ptail->_data;
}//新建乙個結點
pnode buynode(datatype data)
pcur->_data =
data;
pcur->_pnext =
null;
return pcur;
}//銷毀佇列
void queuedestroy(queue
*q) q->_ptail =
null;
}///
#define _crt_secure_no_warnings 1
//#include
"queue.h"
void queuetest();
int main()
void queuetest()
帶頭結點的鏈式表操作集
本題要求實現帶頭結點的鏈式表操作集。函式介面定義 list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,position p 其...
帶頭結點的鏈式表操作集
本題要求實現帶頭結點的鏈式表操作集。函式介面定義 list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,position p 其...
帶頭結點的鏈式表操作集
include include define error null typedef enum bool typedef int elementtype typedef struct lnode ptrtolnode struct lnode typedef ptrtolnode position t...