Wednesday, May 11, 2016

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 Chinh===
int main()
{
     // Bổ sung vào ngăn xếp
        Push(1);
        Push(2);
        Push(3);
        Push(4);
        Push(5);

//Hiện thị thông tin của ngăn xếp
printf("Cac so trong danh sach la: \n");
while(!Empty())
printf("%d\t\t",Pop());
return 0;
}
// ==Định nghĩa hàm
// Hàm bổ sung một phần tử vào ngăn xếp
void Push(int X)
{
struct node *N;
// Cấp phát bộ nhớ
N=(struct node*)malloc(sizeof(struct node));
N->infor=X;
N->link=NULL;

// Bổ sung
N->link=T;
T=N;

}
//Hàm loại bỏ một 1 nút khỏi ngăn xếp và trả về thông tin ở nút đó
int Pop()
{
int tg;
struct node *P;

if(T==NULL){
printf("Ngan xep rong! ");
return 0;
}

tg=T->infor;
P=T;
T=T->link;
free(P); //Thu hồi bộ nhớ ,hủy nút

return tg;
}
//Hàm kiểm tra danh sách rỗng
int Empty()
{
if(T==NULL)
return 1;
return 0;

}


0 comments:

Post a Comment