/*
佇列 鏈式儲存結構
*/#include #include #define error -1
#define ok 0
typedef int elemtype;
typedef struct node
node;
typedef struct linkqueue
linkqueue;
int inqueue(linkqueue *q, elemtype value)
p->value = value;
p->next = null;
if (q->rear == null)
else
q->count += 1;
printf("inqueue count=%d\n", q->count);
return ok;
}int outqueue(linkqueue *q,elemtype *value)
*value = del->value;
q->front = del->next;
if (del == q->rear)
free(del);
q->count -= 1;
printf("outqueue count=%d\n", q->count);
return ok;
}int main()
for (int i = 0;i<=10;i++)
for (int i = 1; i <= 10; i++)
free(q);
return 0;
}
佇列不帶頭結點 此時第乙個入佇列的結點 就要注意點,出佇列時依然是要判斷空佇列的情況,空佇列時 rear和front 都要置為null 否則不為null in的時候 會有問題
對比較而言 帶有頭結點的佇列稍微好理解一點,就是會浪費乙個node的儲存空間
資料結構 單鏈表 帶頭結點和不帶頭結點
1 單鏈表 通過各結點的鏈結指標來表示結點間的邏輯關係,長度可擴充,遍歷或查詢 2 只能從指標的指示的首元結點開始,跟隨鏈結指標逐個結點進行訪問,進行刪除或插 4 5 6 單鏈表的結構定義 7 typedef int datatype 8 typedef struct node 9 linknode...
資料結構篇 單鏈表倒置(帶頭結點 不帶頭結點)
初始化如圖 1.我們需要把1這個結點作為最後乙個結點,所以要把1的next指向null 2.然後我們要新建結點,指向headnext的下一位,並把headnext的下一位指向headpre,3.headpre指向headnext為下一次迴圈做準備 headpre headnext 4.如果tempn...
資料結構(不帶頭結點的單鏈表)
單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料 在寫單鏈表的時候,需要對結構體有一定的了解 這裡就不做過多的結構...