經典回放 多種語言系列資料結構演算法 佇列(C版)

2021-10-05 10:43:30 字數 517 閱讀 2566

1 佇列的原理以及adt分析

佇列是說:把一些資料按先進先出來組織,如同日常生活中的排隊過程。

佇列最主要的操作是

<1> 資料加入佇列;<2> 從佇列中取出資料;

加入佇列只能加入到佇列尾巴上,而從佇列中取出資料、則只能是取出佇列中的第乙個,一般不允許有插隊、或佇列中間刪除資料的要求。

由上述分析,佇列的adt見教材p68,同時我們也可以看出:由於佇列基本不存在中間插入/刪除資料的情況,所以佇列用順序表完成就基本足夠了,但如果進入佇列的資料可能很大或者專案很多,佇列也有用鍊錶完成的。同樣的情況,如果進出棧的資料專案很多且數量很不確定,則棧也可能用鍊錶來完成。

在這裡為了複習前面的知識,我們的程式將使用鍊錶來完成乙個佇列。於是我們可以把前面鍊錶範例b4.c複製過來。

首先定義進出佇列的資料表elemtype,這裡我們依然使用:

做完這些工作後,就可以按adt表的要求進行程式設計了。

struct elem

經典回放 多種語言系列資料結構演算法 串(C版)

我們這裡說的串 就是標準的c語言的串,這點,和我們教材中另行定義的串並不一致。我們這裡強調僅僅是按c語言的標準處理串,是因為你會按c語言的標準構造串 而不是按其它的模式定義的。在我們的教材上,串相當與乙個 struct elemtype 構造的順序表 或者是鍊錶。而在c語言中,字串是乙個字元陣列,如...

經典資料結構系列之 佇列的應用

1 前言 資料結構,是計算機程式設計中對資料儲存最基本的操作,不同的資料結構適用不同的業務場景。如今大部分情況都是呼叫開發api封裝好的類庫,直接呼叫,幾乎不需要程式設計師再去深究其中背後實現的邏輯,大大簡化和減低了對程式設計師的要求。正是這種,知其然而不知其所以然,導致很多程式設計師缺乏對於底層結...

c語言資料結構KMP經典演算法

前言 1.kmp演算法的原理 本部分內容 字串匹配是計算機的基本任務之一。舉例來說,有乙個字串 bbc abcdab abcdabcdabde 我想知道,裡面是否包含另乙個字串 abcdabd 許多演算法可以完成這個任務,knuth morris pratt演算法 簡稱kmp 是最常用的之一。它以三...