佇列的陣列和鍊錶實現

2022-09-23 23:51:18 字數 1051 閱讀 2998

1.佇列是先入先出額資料結構,它的實現可以用陣列,也可以用鍊錶。用陣列實現鍊錶時,需要預先分配陣列的大小,用front和rear下標分別表示隊頭元素下標和隊尾元素下標,插入乙個元素時,使隊尾的下標rear加1,刪除乙個元素時,front下標加1,判斷是否為空的佇列只要判斷front和rear是否相等。佇列的插入操作可表示為

# include

# include

# define maxsize 100

struct queue

;int main()

void initialqueue(queue *p)

int isfull(queue *p)

int isempty(queue *p)

void push(queue* p,int x)

p->q[p->rear++]=x;

}int pop(queue *p)

return p->q[p->front++];

}2.鍊錶實現佇列

用鍊錶實現佇列,需要定義節點結構體儲存節點的值和指標,另外還要定義頭指標和尾指標,分別指向隊頭和隊尾,插入元素的操作可以表示為

# include

# include

struct node

;typedef struct

link;

int main()

; initialqueue(p);

p=push(p,1);

p=push(p,2);

p=push(p,3);

printf("%d\n",pop(p));

system("pause");

return 0;

}void initialqueue(link p)

int isempty(link p)

link push(link p,int x)

else

return p;

}int pop(link p)

if(p.front!=p.rear)

else

return temp;

}

佇列(陣列實現和鍊錶實現)

1.概念 具有一定操作約束的線性表 2.特點 1 只能在一端插入 入隊 另一端刪除 出隊 2 先進先出。3.儲存實現方式 陣列 鍊錶。4.基本操作 1.陣列實現 迴圈陣列 注意 1 普通的順序儲存的陣列用來實現佇列時,存在乙個問題 當rear 記錄隊尾的變數 到達maxsize 1時,不能確定佇列是...

陣列和鍊錶實現佇列的比較

定義的介面 其中e為泛型,用來定義具體操作的是什麼型別 可以是乙個類也可以是基本資料型別 用包裝類實現 public inte ce iarray public void add e e 新建陣列的最後乙個記憶體單元用來存放新增加的資料 obb obb.length 1 e ob obb publi...

佇列的陣列實現與鍊錶實現

佇列是一種基本的資料結構。我們平時排隊等候服務的時候,是先到的人先接受服務。對於佇列這種資料結構,實現的就是一種先進先出 first int,first out,fifo 的策略。改變佇列中元素的操作方法只有兩個 push與pop。push是把元素從隊尾插入,pop是把元素從隊頭刪除。佇列的陣列實現...