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是把元素從隊頭刪除。佇列的陣列實現...