蘇嵌專案實戰 學習日誌3

2021-08-27 05:41:41 字數 2616 閱讀 4525

姓名:余宜軒

日期:2018/09/04

今日學習任務:迴圈佇列,程式編寫,列隊的清空,讀取,隊頭,隊尾的取出,先進先出的結構,鏈式結構。

完成情況

main.c

#include 

#include "queue.h"

#include

int main()

else

if (ret == success)

ret = emptyqueue(queue);

if(ret == success)

else

if (ret == failure)

for(i=0;i<10;i++)

else

if (ret == success)

}int length = lengthqueue(queue);

printf("length is %d\n",length);

ret = getfront(queue);

if(ret == failure)

else

for(i=0;i<5;i++)

else

}//獲取**

length = lengthqueue(queue);

printf("length is %d\n",length);

ret = getfront(queue);

if(ret == failure)

else

//清空佇列

ret = clearqueue(&queue);

if(ret == success)

else

//獲取**

length = lengthqueue(queue);

printf("length is %d\n",length);

ret = getfront(queue);

if(ret == failure)

else

ret = destroyqueue(&queue);

if(ret == failure)

else

return

0;}

queue.h

#ifndef queue_h

#define queue_h

#define maxsize 10

#define success 1000

#define failure 1001

struct queue

;typedef struct queue q;

int initqueue(q * q);

int emptyqueue(q q);

int enterqueue(q * q,int e);

int lengthqueue(q q);

int getfront(q q);

int delqueue(q * q);

int clearqueue(q * q);

int destroyqueue(q * q);

#endif

queue.c

#include"queue.h"

#include

int initqueue(q * q)

q->data = (int *)malloc(sizeof(int)*maxsize);

if(null == q->data)

q -> front = q -> rear =0;

return success;

}int emptyqueue(q q)

int enterqueue(q * q,int e)

if((q -> rear+1)% maxsize == q->front) //隊滿

q -> data[q ->rear] = e;

q -> rear = (q ->rear +1) % maxsize;

return success;

}int lengthqueue(q q)

int getfront(q q)

// 返回第乙個元素

return q.data[q.front];

}int delqueue(q *q)

if(q -> rear == q-> front) //空隊

int e = q -> data[q -> front];

q->front = (q -> front +1) % maxsize;

return e;

}int clearqueue(q * q)

//頭指標和尾指標指向相同的位置

q -> rear = q -> front;

return success;

}int destroyqueue(q * q)

free(q -> data); //釋放空間

return success;

}

蘇嵌專案實戰 學習日誌3

姓名 楊子遜 日期 2018 09 05 今日學習任務 學習資料結構中佇列的知識,並使用c語言實現了順序佇列的操作與鏈式佇列的操作。今日任務完成情況 理解了順序佇列的概念與鏈式佇列的概念,並完成了相關 課堂 queue.c include include include queue.h int in...

蘇嵌專案實戰 學習日誌3

姓名 王尹新葉 日期 2018 09 05 今日學習任務 學習資料結構中佇列的知識,並使用c語言實現了順序佇列的操作與鏈式佇列的操作。今日任務完成情況 理解了順序佇列的概念與鏈式佇列的概念,並完成了相關 課堂 queue.c include include include queue.h int i...

蘇嵌專案實戰 學習日誌2

姓名 余宜軒 日期 2018 09 04 今日學習任務 學習如何定義乙個結構體變數,和棧的相關函式的編寫。完成情況 初步掌握了c語言當中棧的相關知識。學會了如何定義乙個結構體變數。棧的相關函式,初始化棧的函式,程式來判斷乙個棧是否為空,進棧 出棧函式,獲取棧頂元素的函式,清空棧元素的函式。今日作業 ...