以下是最近用鍊錶寫的乙個佇列,包括建立,入隊,出隊,列印等功能
/**
* @filename linkqueue.c
* @author haohaibo
* @data 2017/4/12
* @brief 用鍊錶實現乙個佇列
**/#include #include #include typedef int type_t;
typedef struct nodelqn_t;
typedef struct linkqueue_plq_t;
/** * @brief 建立乙個佇列
*/lq_t *linkqueue_creat()
n->data=0;
n->next=null;
lq->front=n;
lq->real=n;
lq->count =0;
return lq;
}/**
* @brief 入列
*/int linkqueue_in(lq_t *lq,type_t value)
n->data=value;
n->next=null;
lq->real->next=n;
lq->real=n;
lq->count++;
return 0;
}/**
* @brief 出列
*/type_t linkqueue_out(lq_t *lq)
n=lq->front->next;
value=n->data;
lq->front->next=n->next;
if(lq->real==n)
lq->real=lq->front;
free(n);
n=null;
lq->count--;
return value;
}/**
* @brief 全部元素出列
*/int linkqueue_outall(lq_t *lq)
while(i--)
linkqueue_out(lq);
}/**
* @brief 列印佇列元素
*/int linkqueue_show(lq_t *lq)
lq->front=p;
putchar(10);
return 0;
}int main(void)
如何寫乙個鍊錶
有的時候,處於記憶體中的資料並不是連續的。那麼這時候,我們就需要在 資料結構中新增乙個屬性,這個屬性會記錄下面乙個資料的位址。有了這個位址之後,所有的資料就像一條鍊子一樣串起來了,那麼這個位址屬性就起到了穿線鏈結的作用。相比較普通的線性結構,鍊錶結構的優勢是什麼呢?我們可以總結一下 1 單個節點建立...
用Python寫乙個簡單的單向鍊錶(包含頭尾指標)
最近學習資料結構,大部分以c語言為主,所以想嘗試一下用python編寫,感覺指標和類實現思維上還是差距蠻大的 coding utf 8 created on mon apr 01 22 20 44 2013 author zzcwing class listnode 定義乙個node的資料型別,包含...
用鍊錶實現乙個棧
include include typedef int elementtype 棧元素型別 define success 0 define failure 1 定義棧結構 typedef struct stackinfo stackinfo st 函式宣告 stackinfo st createst...