蘇嵌日誌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...