Ngăn Xếp(Stack) Phần 2: Thao tác với ngăn xếp
Tính độ dài ngăn xếp
int Dodai(Stack S){ Node *P = S.Top; // Khai bao con tro P tro toi S int i = 0; while (P!=NULL){ i++; P=P->Next; } return i; }
Thêm phần tử vào ngăn xếp

void Push(Stack &S, int x) //them phan tu vao Stack { //Tao ra 1 NODE MOI //c malloc Node *Q=new Node; Q->Data=x; Q->Next=S.Top; //CHO Q BẤU VÀO S.TOP S.Top=Q; //CẬP NHẬT LẠI TOP LÀ Q }
Xóa và lấy dữ liệu tại Top
int Pop(Stack &S) //Loai bo phan tu khoi Stack { if (!Kiemtrarong(S)) //KIEM TRA NEU { int x = S.Top->Data; //lấy ra giá trị của PT Top nếu muốn dùng sau này S.Top = S.Top->Next; //Cho Top trỏ đến PT Kế tiếp==Xóa phần tử tại Top return x; } }