main.c
#define _crt_secure_no_warning#includeseqqueue.h#include
#include
#include
"seqqueue.h
"typedef
struct
person person;
intmain() ;
person p2 = ;
person p3 = ;
person p4 = ;
person p5 = ;
//資料入佇列
push_seqqueue(queue, &p1);
push_seqqueue(queue, &p2);
push_seqqueue(queue, &p3);
push_seqqueue(queue, &p4);
push_seqqueue(queue, &p5);
//輸出隊尾元素
person* backperson = (person*)back_seqqueue(queue);
printf(
"隊尾元素:name:%s age:%d\n
", backperson->name, backperson->age);
//輸出
while (size_seqqueue(queue) > 0
)
//銷毀佇列
free_seqqueue(queue);
printf("\n
");system(
"pause");
return0;
}
#ifndef seqqueue_hseqqueue.c#define seqqueue_h#include
#include
#include
#define max_size 1024
//順序佇列結構體
typedef struct
seqqueue seqqueue;
//初始化
seqqueue*init_seqqueue();
//入隊
void push_seqqueue(seqqueue* queue, void*data);
//返回隊頭元素
void* front_seqqueue(seqqueue*queue);
//出隊
void pop_seqqueue(seqqueue*queue);
//返回隊尾元素
void* back_seqqueue(seqqueue*queue);
//返回大小
int size_seqqueue(seqqueue*queue);
//清空佇列
void clear_seqqueue(seqqueue*queue);
//銷毀
void free_seqqueue(seqqueue*queue);
#endif
#include"vs2015執行結果:seqqueue.h"//
初始化seqqueue*init_seqqueue()
queue->size = 0
;
return
queue;}//
入隊void push_seqqueue(seqqueue* queue, void*data)
if (data ==null)
if (queue->size ==max_size)
queue->data[queue->size] =data;
queue->size++;}//
返回隊頭元素
void* front_seqqueue(seqqueue*queue)
if (queue->size == 0
)
return queue->data[0];}
//出隊
void pop_seqqueue(seqqueue*queue)
if (queue->size == 0
)
for (int i = 0; i < queue->size - 1; i++)
queue->size--;}//
返回隊尾元素
void* back_seqqueue(seqqueue*queue)
if (queue->size == 0
)
return queue->data[queue->size - 1];}
//返回大小
int size_seqqueue(seqqueue*queue)
return queue->size;}//
清空佇列
void clear_seqqueue(seqqueue*queue)
queue->size = 0;}
//銷毀
void free_seqqueue(seqqueue*queue)
free
(queue);
}
7 佇列 順序儲存
佇列是一種先進先出的線性表,它只能從隊尾插入資料,從隊首獲取資料。使用動態陣列來儲存佇列,入隊即是尾插,出隊即是頭刪,獲取隊頭即是陣列的第乙個元素。需要實現的介面 初始化 入隊 出隊 獲取隊頭 獲取隊尾 佇列大小 銷毀佇列myqueue.c include myqueue.h include myd...
佇列(二)佇列的鍊錶儲存
include define false 0 define ok 1 定義佇列每個節點的結構 typedef struct node node,qnode 相當於typedef struct node qnode 定義整個佇列結構 typedef struct squeue squeue 建立乙個空...
03 佇列操作
時間限制 100ms 記憶體限制 100kb 描述假設以帶頭節點的迴圈鍊錶表示佇列,並且只設乙個指標指向隊尾元素節點 不設頭指標 節點元素這裡設為整型,編寫佇列的初始化 入隊和出隊演算法。其中入隊元素個數n及其節點資料,和出隊元素個數m都是從鍵盤輸入 預設n m都不小於0 然後輸出出隊元素,出隊不合...