Ngăn xếp là danh sách tuyến tính , mà phép bổ sung và loại bỏ thực hiện theo nguyên tắc vào sau ra trước. Khi cài đặt ngăn xếp bằng danh sách liên kết đơn phần tử đỉnh của ngăn xếp chính là nút đầu tiên của danh sách liên kết. Phép bổ sung và loại bỏ được thực hiện ở vị trí này.
1, Giải thuật bổ sung một phần tử vào ngăn xếp:
Procedure Push(var T,X)
1,{Tạo một node mới có infor là X}
new <= AVAIL;
infor(new):=x;
link(new):=x;
2,{Bổ sung}
link(new):=T;
T:=new;
return.
// Chuyển sang hàm trong C;
Ban đầu ta có cấu trúc của node là:
typedef struct node NODE;
struct node
{
int infor;
NODE *link;
};
// -------------------
void Push(NODE *T,int x)
{
//tạo một nút mới
NODE *N;
N=(NODE*) malloc(sizeof(NODE));
N->infor=x;
N->link=NULL;
//bổ sung
N->link=T;
T=N;
}
2, Giải thuật loại bỏ 1 phần tử khỏi ngăn xếp
Function POP(var T)
1,{Kiểm tra ngăn xếp rỗng }
if T=NULL then
begin
write('Ngan xep rong');
return ;
end
2,{Loại bỏ}
P:=T;
tg:==infor(T);
T:=link(T);
P=>AVAIL;
POP:=tg;
Return.
//Chuyen sang hàm trong c
//Ban đầu ta cũng có cấu trúc một nút như bên trên
int POP(NODE *T)
{
NODE *P:
P=T;
int tg=0;
//Kiểm tra ngăn xếp rỗng
if(T==NULL)
{
printf("Ngăn xếp rỗng.!");
return 0;
}
tg=T->infor;//lấy thông tin của nút đỉnh
T=T->link;//cho T trỏ tới nút tiếp theo
free(P);//xóa bỏ nút đỉnh
return tg;//trả về thông tin của nút bị loại bỏ
}
P=>AVAIL, P<=AVAIL để biểu thị việc thu hổi và cấp phát bộ nhớ.!
Lưu ý: với cách cài đặt này T phải là biến toàn cục vì trong ngôn ngữ C không có kiểu tham chiếu mà chỉ có tham trị. Khi truyền theo giá trị thì biến sẽ không bị thay đổi khi.
Wednesday, April 27, 2016
Home »
Danh sách liên kết đơn .
» Ngăn xếp cài đặt bằng danh sách liên kết đơn
Ngăn xếp cài đặt bằng danh sách liên kết đơn
Related Posts:
Giải thuật thêm,xóa ,tim kiếm một nút vào danh sách liên kết đơn//Họ và tên :Trần Văn Linh //MSV:581597 //Lớp:K58QLTT --------------------------------------------------------------------------------- A.Giải thuật thêm một nút vào danh sách liên đơn Bài này mình sẽ giới thiệu 3 trường hợp… Read More
Tìm kiếm, xóa mặt hàng trên danh sách mặt hàng lưu trong danh sách liên kết đơn bằng C Lưu ý: Bài này mình làm với mặt hàng đơn giản chỉ có hai thuộc tính là mã và tên, mọi người cần thêm đầy đủ các thuộc tính của một mặt hàng cần có như giá , số lượng, .....! -----------------------------------------… Read More
Chương trình ứng ngăn xếp với danh sách liên kết đơn bằng C #include<stdio.h> #include<stdlib.h> //Khai báo cấu trúc 1 nút struct node { int infor; struct node *link; }*T=NULL; //Khởi tạo T // Khai báo hàm void Push(int X); int Pop(); int Empty(); // ===Chuong Trinh … Read More
Ngăn xếp cài đặt bằng danh sách liên kết đơn Ngăn xếp là danh sách tuyến tính , mà phép bổ sung và loại bỏ thực hiện theo nguyên tắc vào sau ra trước. Khi cài đặt ngăn xếp bằng danh sách liên kết đơn phần tử đỉnh của ngăn xếp chính là nút đầu tiên của danh sách liên kết… Read More
Chương trình chuyển một số nguyên thành xâu nhị phân sử dụng danh sách liên kết đơn (ngăn xếp) //Họ Tên: Trần Văn Linh //MaSV:581597 //Lớp:K58QLTT ------------------------------------------------------------------------------------------------------------------------- xaunh… Read More
0 comments:
Post a Comment