//Họ và tên:Trần văn Linh
//Msv:581597
//Lớp:K58QLTT
--------------------------------------------------------------------------------
#include<stdio.h>
enum {size=100};//Kích thước của mảng
//Khai bao cau truc
typedef struct ds
{
int a[size];
int T;//Chỉ số phần tử đỉnh ngăn xếp
}ds;
//Khai bao ham
void taoDS(ds *ds);//Hàm khởi tạo danh sách
void push(ds *ds,int x);//Hàm bổ sung vào danh sách
int pop(ds *ds);//Hàm xóa bỏ một phần tử và trả về phần tử bị xóa
int empty(ds *ds);//Hàm kiểm tra danh sách rỗng
//===Chương trình chính==
void main()
{
ds ds;
taoDS(&ds);//Tạo danh sách
push(&ds,1);//Bổ sung 1 vào ds
push(&ds,2);//Bổ sung 2 vào ds
push(&ds,3);//Bổ sung 3 vào ds
push(&ds,4);//Bổ sung 4 vào ds
//Xóa từng phần tử của danh sách và in ra phần tử đó.
while(!empty(&ds))
printf("%d\t\t",pop(&ds));
}
//Dinh nghia ham
void taoDS(ds *ds)
{
ds->T=-1;
}
void push(ds *ds,int x)
{
if(ds->T==size)
{
printf("Danh sach da day.!");
return;
}
ds->T+=1;
ds->a[ds->T]=x;
}
//---------------------------------------------------
int pop(ds *ds)
{
int tg;
if(ds->T<0)
{
printf("Ds rong.!");
return 0;
}
tg=ds->a[ds->T];
ds->T-=1;
return tg;
}
//--------------------------------------
int empty(ds *ds)
{
if(ds->T<0)
return 1;
return 0;
}
Kết quả khi chạy chương trình :
0 comments:
Post a Comment