C語言中連結串列與佇列有很麼區別,C語言佇列,連結串列分別怎麼用?

時間 2022-03-31 11:10:02

1樓:

樓主你好。

連結串列是一種資料結構,而佇列是一種抽象的概念,就像棧一樣。

船是一個比較抽象的概念,具體實現有木船、鐵船等等。佇列好比是船,連結串列好比是造船的材料。

佇列可以用連結串列實現,也可以用動態陣列實現,這個抽象的概念可以用各種具體的資料結構實現。

sqqueue的第一個元素elemtype *elem;其實是指向了一個陣列,該陣列中儲存著型別為elemtype的元素,然後front和rear就標識了隊首和隊尾元素對應的陣列下標。

typedef struct _pointpoint;

#define elemtype point//這個elemtype可以是任意你自己定義的結構,可以是結構體,也可以是簡單資料型別

elemtype array[10]=;//這個是佇列的資料結構,在這裡是一個point陣列

sqqueue queue=;

queue.elem=array;//這樣array中的元素就是queue中的元素了。

queue.front=queue.rear=queue.size=0;

你說的next指標是連結串列節點中的成員。你想想連結串列和連結串列節點間的區別。

typedef struct _listnodelistnode;

typedef struct _listlist;

如果還不懂,可以追問我。

2樓:

c語言的連結串列與佇列是兩種不同的概念:

連結串列是一種資料的儲存方式,其儲存的資料在記憶體中是不連續的,採用指標對資料進行訪問;

佇列是一種資料結構,其特點是先進先出,後進後出;

佇列的儲存方式可以使用線性表進行儲存,也可以使用連結串列進行儲存。

3樓:鼻行動物

1、可以使用結構體,elemtype 可以使內建型別,也可以是你自己定義的型別。例如:

typedef struct

position;

typedef struct

queue;

2、你可以理解front和rear只是下標,這個佇列使用陣列實現的。

3、這個結構體定義的是一個佇列,elem這個指標就是指向真正存放元素的陣列的。

c語言佇列,連結串列分別怎麼用?

4樓:千鋒教育

佇列(queue)在電腦科學中,是一種先進先出的線性表。

它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。

連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過連結串列中的指標連結次序實現的。連結串列由一系列結點(連結串列中每一個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:

一個是儲存資料元素的資料域,另一個是儲存下一個結點地址的指標域。 相比於線性表順序結構,操作。

c語言中連結串列與佇列有什麼區別?

5樓:可兒

c語言的連結串列與佇列是兩種不同的概念:

連結串列是一種資料的儲存方式,其儲存的資料在記憶體中是不連續的,採用指標對資料進行訪問;

佇列是一種資料結構,其特點是先進先出,後進後出;

佇列的儲存方式可以使用線性表進行儲存,也可以使用連結串列進行儲存。

sqqueue的第一個元素elemtype

*elem;其實是指向了一個陣列,該陣列中儲存著型別為elemtype的元素,然後front和rear就標識了隊首和隊尾元素對應的陣列下標。

typedef

struct _pointpoint;

#defineelemtype

point//這個elemtype可以是任意你自己定義的結構,可以是結構體,也可以是簡單資料型別

elemtype

array[10]=;//這個是佇列的資料結構,在這裡是一個point陣列

sqqueue

queue=;

queue.elem=array;//這樣array中的元素就是queue中的元素了。

queue.front=queue.rear=queue.size=0;

在c語言中陣列和連結串列有什麼區別

6樓:折柳成萌

二者都屬於一種資料結構

從邏輯結構來看

1. 陣列必須事先定義固定的長度(元素個數),不能適應資料動態地增減的情況。當資料增加時,可能超出原先定義的元素個數;當資料減少時,造成記憶體浪費;陣列可以根據下標直接存取。

2. 連結串列動態地進行儲存分配,可以適應資料動態地增減的情況,且可以方便地插入、刪除資料項。(陣列中插入、刪除資料項時,需要移動其它資料項,非常繁瑣)連結串列必須根據next指標找到下一個元素

從記憶體儲存來看

1. (靜態)陣列從棧中分配空間, 對於程式設計師方便快速,但是自由度小2. 連結串列從堆中分配空間, 自由度大但是申請管理比較麻煩從上面的比較可以看出,如果需要快速訪問資料,很少或不插入和刪除元素,就應該用陣列;相反, 如果需要經常插入和刪除元素就需要用連結串列資料結構了。

c語言,c語言,C語言中 與 的區別

第4題 include using namespace std void main else 這兒是隨機生成 else 這兒是隨機生成 int main 第7題 include strinv char str str n 0 int main 本來想幫你全做的,不過6,7好像有人做了,那就幫你做了4...

c語言中c與s的區別,c語言中 c與 s的有什麼區別?

mxx米小夕 c語言中 c格式符表示輸出的是字元 s格式符表示輸出的是字串。c語言基本構成 1.資料型別 c的資料型別包括 整型 字元型 實型或浮點型 單精度和雙精度 列舉型別 陣列型別 結構體型別 共用體型別 指標型別和空型別。2.常量與變數 常量其值不可改變,符號常量名通常用大寫。變數是以某識別...

C語言和 區別,在C語言中 與 的區別

這兩個符號是關係運算子,它們的含義是不同的。的名稱等於,例如a b,如果a等於b,則返回true,否則返回false。的名稱不等於,例如,a!b,如果a不等於b,則返回true,否則返回false。關係運算子的值只能是0或1。當關係運算子的值為true時,結果值為1。當關係運算子的值為false時,...