資料結構 佇列1 順序儲存

2021-09-22 02:43:35 字數 2426 閱讀 8077

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 但是這樣會出現假溢位的情況,因為...