Khi cài đặt hàng đợi bằng danh sách liên kết đơn mỗi một phần tử của hằng đợi sẽ được lưu trữ trong một nút có cấu trúc như trong danh sách liên kết đơn. Khi bổ sung vào hàng đợi ta bổ sung vào cuối danh sách, khi loại bỏ ta loại bỏ ở đầu danh sách.!
A. Thủ tục bổ sung một phần tử dữ liệu vào hàng đợi.
Procedure QINSERT(F,R,x)
1,{tạo nút mới}
new <= AVAIL;
infor(new):=x;
link(new):=null;
2.{Bổ sung}
if F=null then
begin
F:=new;
R:=new;
end;
else
begin
link(R):=new;
R:=new;
end
3.Return
Cài đặt hàm trong ngôn ngữ lập trình C
//--------------------------------------
Đầu tiên ta có cấu trúc nút
typedef struct node NODE;
struct node
{
typeDaTa infor;
NODE *link;
}
//--------------------------------------------------
void QINSERT(NODE *F,NODE *R,typeDaTa X)
{
// tạo nút mới
NODE *N;
N=(NODE*)malloc(sizeof(NODE);
N->infor=X;
N->link=NULL;
//Bổ sung
if (F==NULL)
{
F=N;
R=N;
}
else
{
R->link=N;
R=N;
}
}
B.Thủ tục loại bỏ một nút khỏi hàng đợi và trả về thông tin của nút đó.
Procedure QDELETE(F,R)
1,{kiểm tra hàng đợi rỗng}
if F=null then
begin
write('Hàng đợi rỗng');
return ;
end
2.{Loại bỏ}
tg=infor(F);
P:=F;
if F=R then
F:=R:=null;
else
F:=link(F);
3,{Thu hoi bo nho}
P=>AVAIL;
4.QDELETE:=tg;
5.Return
Cài đặt hàm trong ngôn ngữ lập trình C
typeDaTa QDELETE(NODE *F,NODE *R)
{
NODE *P;
typeDaTa tg;
//kiểm tra danh sách rỗng.
if(F==NULL)
{
printf("Danh sách rỗng .!");
return NULL;
}
P=F;
tg=F->infor;
F=F->link;
free(P);//hủy nút
return tg;//trả về giá trị thông tin của nút bị xóa
}
Tuesday, May 10, 2016
Home »
Danh sách liên kết đơn .
» Cài đặt hàng đợi sử dụng danh sách liên kết đơn .
0 comments:
Post a Comment