蘇嵌日誌3

2021-08-28 01:10:45 字數 2040 閱讀 9959

蘇嵌日誌3

姓名: 翟雨婷

日期:2023年9月12日

今日學習任務:

學習佇列結構的知識。編寫**約500行。

今日學習問題:

程式較長,基礎比較薄弱,含義不能理解透徹。

今日學習收穫:

今天學習了關於佇列的知識。

如隊頭,隊尾,進隊,出隊,空隊等編寫方法。

了解了佇列的特點和屬性。

編寫了鏈式儲存和順序儲存佇列的簡單程式的編寫並執行。

佇列的特點:先進先出。

有兩種型別:順序儲存和鏈式儲存。

空隊:隊頭隊尾重合。

自我評價:

今天學習了很多新的佇列的知識。編寫程式也能順利完成,並且能順利編譯執行。

但是基本功還比較弱,如果需要自己單獨完成有一定困難。明天繼續努力!

今日程式編寫

queue程式:

main.c

#include

#include"queue.h"

int main()

else

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

else }

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

else }

ret = lengthqueue(queue);

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

ret = clearqueue(&queue);

if(ret == success)

else

ret = destroyqueue(&queue);

if(ret == success)

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 enterqueue(q *q,int e);

int delqueue(q *q);

int lengthqueue(q q);

int destroyqueue(q *q);

#endifs

queue.c

#include"queue.h"

#include

int initqueue(q *q)

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

if(null == q->data)

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

return success;

}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 delqueue(q *q)

if(q->rear == q->front)

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

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

return e;

}int lengthqueue(q q)

int clearqueue(q *q)

q->rear = q->front;

return success;

}int destroyqueue(q *q)

free(q->data);

q->data = null;

return success;

}

蘇嵌日誌3

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...

蘇嵌日誌3

今日日誌3 姓名 蔣思雨 日期 2018.9.12 今日學習任務 1 棧和佇列的區別 2 佇列的進出方法 3 佇列的用法 今日任務完成情況 根據老師的要求,量大約500。今日開發中出現的問題彙總 還是編寫程式下問題,一些基本語法錯誤導致程式不能編譯成功。今日未解決問題 佇列的運用還不太熟悉 今日開發...

蘇嵌日誌3

今日學習任務 複習棧和佇列的相關知識點,佇列的順序是先進先出,學習順序儲存和鏈式儲存 今日任務完成情況 佇列 先進先出 隊頭 取出資料 隊尾 存放資料 1 對列的順序儲存 迴圈佇列 2 空隊 就是隊頭隊尾重合 3 對尾指標,指向最後乙個元素的後乙個 容量為7,則實際儲存為6 4 迴圈佇列長度 rea...