蘇嵌專案實戰 學習日誌3

2021-08-27 09:01:29 字數 3459 閱讀 4866

姓名:王尹新葉

日期:2018/09/05

今日學習任務

學習資料結構中佇列的知識,並使用c語言實現了順序佇列的操作與鏈式佇列的操作。

今日任務完成情況

理解了順序佇列的概念與鏈式佇列的概念,並完成了相關**。

課堂**

queue.c

#include

#include

#include

"queue.h"

int initqueue(qu *q)

p->next =

null; //空隊,沒有下乙個結點

q->front = q->rear = p;

return success;

}int enterqueue(qu *q, int e)

if (q->rear ==

null)

node *p = (node *)malloc(sizeof(node));

if (null

== p)

p->

data

= e;

p->next =

null;

q->rear->next = p;

q->rear = p;

return success;

}int lengthqueue(qu q)

return len;

}int getfront(qu q)

return q.front->next->

data;

}int delqueue(qu *q)

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

node *p = q->front->next; //儲存第乙個結點

int e = p->

data;

q->front->next = p->next;

free(p);

if (q->rear == p)

return e;

}int clearqueue(qu *q)

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

node *p = q->front->next;

while (p)

q->rear = q->front;

return success;

}int destroyqueue(qu *q)

clearqueue(q);

free(q->front);

q->front = q->rear =

null;

return success;

}

queue.h

#include

#include

#include

"queue.h"

int initqueue(qu *q)

p->next =

null; //空隊,沒有下乙個結點

q->front = q->rear = p;

return success;

}int enterqueue(qu *q, int e)

if (q->rear ==

null)

node *p = (node *)malloc(sizeof(node));

if (null

== p)

p->

data

= e;

p->next =

null;

q->rear->next = p;

q->rear = p;

return success;

}int lengthqueue(qu q)

return len;

}int getfront(qu q)

return q.front->next->

data;

}int delqueue(qu *q)

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

node *p = q->front->next; //儲存第乙個結點

int e = p->

data;

q->front->next = p->next;

free(p);

if (q->rear == p)

return e;

}int clearqueue(qu *q)

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

node *p = q->front->next;

while (p)

q->rear = q->front;

return success;

}int destroyqueue(qu *q)

clearqueue(q);

free(q->front);

q->front = q->rear =

null;

return success;

}

main.c

#include 

#include

#include "queue.h"

int main(void)

else

if (ret == success)

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 < 3; i++)

else

}ret = clearqueue(&queue);

if (ret == failure)

else

ret = destroyqueue(&queue);

if (ret == success)

else

if (ret == failure)

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

else

if (ret == success)

}return

0;}

今日開發中出現的問題彙總

鍊錶理解起來有些難度。

今日開發收穫

學習了鍊錶,熟悉了c語言各種概念。

自我評價

基本完成任務目標,課後仍需繼續努力。

蘇嵌專案實戰 學習日誌3

姓名 余宜軒 日期 2018 09 04 今日學習任務 迴圈佇列,程式編寫,列隊的清空,讀取,隊頭,隊尾的取出,先進先出的結構,鏈式結構。完成情況 main.c include include queue.h include int main else if ret success ret empt...

蘇嵌專案實戰 學習日誌3

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

蘇嵌專案實戰 學習日誌2

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