Home > C > Cài đặt Stack trong C

Cài đặt Stack trong C

Stack là một tập hợp các phần tử trong đó việc thêm vào và lấy ra đều được thực hiện ở một đầu. Nó là loại cấu trúc dữ liệu LIFO ( Last In First Out – Vào sau ra trước).

Các phần tử có thể được thêm vào Stack bất kỳ lúc nào nhưng chỉ có phần tử được thêm vào sau cùng mới được phép lấy ra khỏi Stack.

Các thao tác chính với Stack gồm :

+ Push : Thêm phần tử vào

+ Pop : Lấy phần tử ra

+ IsEmpty: Kiểm tra Stack có rỗng không

+ IsFull : Kiểm tra Stack có đầy chưa

+ Top : Trả về giá trị của phần tử nằm ở đầu Stack mà không hủy nó khỏi Stack. Nếu Stack rỗng thì báo lỗi.

Code cài đặt Stack trong C dùng mảng :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define MAX 20
struct Stack
{
 int data[MAX];
 int size;
};
typedef struct Stack Stack;
void Init(Stack *S)
{
 S->size=0;
}
void Push(Stack *S,int d)
{
 S->data[S->size++]=d;
}
int Pop(Stack *S)
{
 return S->data[--S->size];
}
int Size(Stack *S)
{
 return S->size;
}
int IsEmpty(Stack *S)
{
 if (S->size==0)
 {
 return 1;
 }
 else
 {
 return 0;
 }
}
int IsFull(Stack *S)
{
 if (S->size==MAX)
 {
 return 1;
 }
 else
 {
 return 0;
 }
}
int Top(Stack *S)
{
 return S->data[S->size-1];
}
void Display(Stack *S)
{
 int i;
 for (i=0;i<S->size;i++)
 {
 printf("%d\t",S->data[i]);
 }
 printf("\n");
}

Download file main.c full tại đây

Advertisements
Categories: C
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: