Sunday, May 15, 2016

Cài đặt ngăn xếp bằng mảng với ngông ngữ C

//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