linklist.h
#include#include#include#define max_size 1024
#define true 1
#define false 0
typedef struct queuelinklist queuelinklist;
//初始化
queuelinklist* init_linklist();
//從隊尾壓入元素
void push_linklist(queuelinklist* queue, void* data);
//彈出隊頭元素
void pop_linklist(queuelinklist* queue);
//取隊尾元素
queuelinklist* front_linklist(queuelinklist* queue);
//取隊頭元素
queuelinklist* rear_linklist(queuelinklist* queue);
//獲取大小
int size_linklist(queuelinklist* queue);
//清空
void clear_linklist(queuelinklist* queue);
//銷毀
void freespace_linklist(queuelinklist* queue);
linklist.c
#include"linklist.h"
//初始化
queuelinklist* init_linklist()
queue->size = 0;
return queue;
}//從隊尾壓入元素
void push_linklist(queuelinklist* queue, void* data)
if (data == null)
if (queue->size >= max_size)
queue->data[queue->size] = data;
queue->size++;
}//彈出隊頭元素
void pop_linklist(queuelinklist* queue)
for (int i = 0; i < queue->size-1; i++)
queue->size--;
}//取隊尾元素
queuelinklist* front_linklist(queuelinklist* queue)
return queue->data[queue->size];
}//取隊頭元素
queuelinklist* rear_linklist(queuelinklist* queue)
return queue->data[0];
}//獲取大小
int size_linklist(queuelinklist* queue)
return queue->size;
}//清空
void clear_linklist(queuelinklist* queue)
for (int i = 0; i < max_size; i++)
queue->size = 0;
}//銷毀
void freespace_linklist(queuelinklist* queue)
free(queue);
}
佇列順序儲存.c
#include#include#include#include"linklist.h"
typedef struct person person;
int main()
; person p2 = ;
person p3 = ;
person p4 = ;
person p5 = ;
push_linklist(queue, &p1);
push_linklist(queue,&p2);
push_linklist(queue, &p3);
push_linklist(queue, &p4);
push_linklist(queue, &p5);
person* p=(person*)rear_linklist(queue);
printf("name:%s age:%d\n", p->name, p->age);
while (size_linklist(queue) >= 0)
freespace_linklist(queue);
return 0;
}
執行結果:
資料結構 佇列 順序儲存結構佇列 鏈式儲存結構佇列
佇列是一種只允許在一端進行插入操作,而在另外一端進行刪除操作的線性表,特徵是先進先出,包括 順序儲存結 構佇列 鏈式儲存結構佇列。重點說明 迴圈佇列和鏈隊。在佇列中front為隊頭指標 rear為隊尾指標 佇列 佇列空的條件 rear front 佇列滿的條件 rear 1 queuesize fr...
資料結構 佇列靜態順序儲存結構
1 佇列的基本概念 佇列 queue 也是運算受限的線性表。是一種先進先出 first in first out 簡稱fifo 的線性表。只允許在表的一端進行插入,而在另一端進行刪除。隊首 front 允許進行刪除的一端稱為隊首。隊尾 rear 允許進行插入的一端稱為隊尾。例如 排隊購物。作業系統中...
資料結構 環形佇列 迴圈佇列 順序儲存
佇列是對頭出 隊尾入的先進先出線性表。需要兩個指標front和rear分別來指向隊頭和隊尾。front指向隊頭元素的前乙個位置,rear總是指向隊尾元素。進隊 rear 1 出隊 front 1 隊空條件 front rear 隊滿條件 rear maxsize 1 但是這樣會出現假溢位的情況,因為...