Lược đồ một ngăn xếp
Trong khoa học máy tính, một ngăn xếp (còn gọi là bộ xếp chồng, tiếng Anh: stack) là một cấu trúc dữ liệu trừu tượng hoạt động theo nguyên lý "vào sau ra trước" (Last In First Out (LIFO).
Ngăn xếp còn được triển khai với mô hình vô cùng nổi tiếng đó chính là danh sách liên kết đơn.
Thuật ngữ
Thông thường, các thuật ngữ được sử dụng trong một mô hình ngăn xếp như sau:
- Stack: Một ngăn xếp.
- Push: Thêm một dữ liệu vào ngăn xếp.
- Pop: Bỏ ra một dữ liệu khỏi ngăn xếp, không xóa hoàn toàn.
Kiểu dữ liệu trừu tượng ngăn xếp
Một ngăn xếp là một cấu trúc dữ liệu dạng thùng chứa (container) của các phần tử (thường gọi là các nút (node)) và có hai phép toán cơ bản: push and pop. Push bổ sung một phần tử vào đỉnh (top) của ngăn xếp, nghĩa là sau các phần tử đã có trong ngăn xếp. Pop giải phóng và trả về phần tử đang đứng ở đỉnh của ngăn xếp.
Trong stack, các đối tượng có thể được thêm vào stack bất kỳ lúc nào nhưng chỉ có đối tượng thêm vào sau cùng mới được phép lấy ra khỏi stack.
Ngoài ra, stack cũng hỗ trợ một số thao tác khác như:
- isEmpty(): Kiểm tra xem stack có rỗng không.
- 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ì lỗi sẽ xảy ra.
Các phép toán
Trong ngôn ngữ máy tính hiện nay, một ngăn xếp thường được dùng với các phép toán "push" và "pop". Độ dài (số phần tử) của ngăn xếp cũng là một tham số cần thiết của nó. Đôi khi cần tới một phép toán chỉ cần lấy giá trị của phần từ trên đỉnh ngăn xếp mà không xóa nó khỏi ngăn xếp (peak).
Sau đây là đoạn mã giả để bổ sung, loại bỏ, tính độ dài, và lấy giá trị phần tử ở đỉnh của ngăn xếp.
record Node {
data // Dữ liệu được lưu trữ trong một nút
next // Tham chiếu đến nút tiếp theo, ở nút cuối cùng nó là null (rỗng).
}
record Stack {
Node stackPointer // trỏ đến nút đầu tiên, trả về giá trị null khi ngăn xếp rỗng.
}
function push(Stack stack, Node newNode) { // thêm dữ liệu vào ngăn xếp
newNode.next:= Stack.stackPointer
stack.stackPointer:= newNode
}
function pop(Stack stack) { // increase the stack pointer and return 'top' node
// You could check if stack.stackPointer is null here.
// If so, you may wish to error, citing the stack underflow.
node:= stack.stackPointer
stack.stackPointer:= stack.stackPointer.next
return node
}
function peak(Stack stack) { // return 'top' node
return stack.stackPointer
}
function length(Stack stack) { // return the amount of nodes in the stack
length:= 0
node:= stack.stackPointer
while node not null {
length:= length + 1
node:= node.next
}
return length
}
Ứng dụng
Ngăn xếp có nhiều ứng dụng trong khoa học máy tính.
Tính các biểu thức đại số
Ví dụ: Tính biểu thức
:: ((1 + 2) * 4) + 3
Trước hết viết biểu thức theo hậu thứ tự:
::1 2 + 4 * 3 +
Khi tính một biểu thức ta dùng một ngăn xếp để cất dữ liệu trung gian như sau: Đọc từ trái sang phải mỗi lần một phần tử:
- nếu gặp một toán hạng (biến hoặc hằng), đặt (push) toán hạng đó vào ngăn xếp;
- nếu gặp một toán tử, lấy (pop) hai phần tử trên đỉnh ngăn xếp ra, thực hiện phép toán và đặt (push) lại kết quả vào ngăn xếp.
Kết quả 15 đặt ở đỉnh của ngăn xếp khi tính xong.
Quản lý bộ nhớ khi thi hành chương trình
👁️
0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong phần mềm, **tràn bộ đệm ở ngăn xếp** (tiếng Anh: _stack buffer overflow_ hay _stack buffer overrun_) xảy ra khi một chương trình viết địa chỉ bộ nhớ lên vùng gọi ngăn xếp của
Lược đồ một ngăn xếp Trong khoa học máy tính, một **ngăn xếp** (còn gọi là **bộ xếp chồng**, tiếng Anh: _stack_) là một cấu trúc dữ liệu trừu tượng hoạt động theo nguyên lý
Trong lập trình, **lỗi tràn ngăn xếp** xảy ra nếu các con trỏ ngăn xếp vượt quá giới hạn của ngăn xếp. Ngăn xếp có thể bao gồm một lượng hữu hạn các địa chỉ
Chân Váy Ngắn Xếp Ly Cạp Cao Khóa Lưng❄️Mã váy hot hit trên thị trường nè chị em❄️Kiểu dáng cá tính xinh yêu, xếp ly dáng ngắn❄️Cạp cao chun co dãn, người mảnh sơ vin
Đầm Voan Lụa HoaNhí Ngắn Xếp Tầng Xòe Phong Cách Cổ Điển TTSA1181Trân thành cảm ơn các bạn đã ghéthăm gian hàng của chúng tôifollow shop để cập nhật mẫu mớinhất và hot nhất mỗi
Đầm voan lụa hoanhí ngắn xếp tầng xòe phong cách cổ điển TTSA1181Trân thành cảm ơn các bạn đã ghéthăm gian hàng của chúng tôifollow shop để cập nhật mẫu mớinhất và hot nhất mỗi
Đầm voan lụa hoanhí ngắn xếp tầng xòe phong cách cổ điển TTSA1181Trân thành cảm ơn các bạn đã ghé thăm gian hàng của chúng tôifollow shop để cập nhật mẫu mới nhất và hot
Đầm Voan Lụa HoaNhí Ngắn Xếp Tầng Xòe Phong Cách Cổ Điển TTSA1181Trân thành cảm ơn các bạn đã ghéthăm gian hàng của chúng tôifollow shop để cập nhật mẫu mớinhất và hot nhất mỗi
Đầm voan lụa hoanhí ngắn xếp tầng xòe phong cách cổ điển TTSA1181Trân thành cảm ơn các bạn đã ghéthăm gian hàng của chúng tôifollow shop để cập nhật mẫu mớinhất và hot nhất mỗi
chân váy nữ 2 tầng phối hạt cườm xếp li mt774 AQGS Size S, M, L màu đen đem đến sự tự tin, năng động, phong cách Hàng xẻngchân váy nữ 2 tầng phối hạt
chân váy nữ 2 tầng phối hạt cườm xếp li mt774 AQGS Size S, M, L màu đen đem đến sự tự tin, năng động, phong cách Hàng xẻngchân váy nữ 2 tầng phối hạt
**Sắp xếp nhanh** (_Quicksort_), còn được gọi là sắp xếp kiểu phân chia (_part sort_) là một thuật toán sắp xếp phát triển bởi C.A.R. Hoarec sắp thành hai danh sách con. Khác với sắp
Unibaby Bộ đồ mùa hè cho bé gái quần yếm chui đầu tay loe ngắn xếp nếp quần yếm tua rua in hoa chanh Lời khuyên thân thiện: 1. Vui lòng cho phép chênh lệch
**Ngân hàng Thương mại Cổ phần Lộc Phát Việt Nam** (tên giao dịch quốc tế: **LPBank**), là một ngân hàng thương mại cổ phần của Việt Nam. LPBank được Ngân hàng Nhà nước Việt Nam
**Hệ thống bảng xếp hạng FIFA** là phương pháp tính toán được dùng trước đây bởi FIFA dành cho các đội tuyển quốc gia trong môn bóng đá. Hệ thống này được FIFA công bố
**Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam** (tên giao dịch quốc tế: _Vietnam **Bank** for **Agri**culture and Rural Development)_ viết tắt: "**Agribank",** là ngân hàng thương mại lớn nhất Việt Nam
Mùa đầu tiên của chương trình **_Anh trai vượt ngàn chông gai_** được phát sóng trên kênh truyền hình VTV3 từ ngày 29 tháng 6 đến ngày 19 tháng 10 năm 2024. Sau chương trình,
**Ngân hàng thương mại cổ phần Á Châu** (tên giao dịch bằng tiếng Anh: _Asia Commercial Joint Stock Bank_), được gọi tắt là **Ngân hàng Á Châu (ACB)**, chính thức đi vào hoạt động kinh
**Bảng xếp hạng bóng đá nam FIFA** (_FIFA Men's World Ranking_) là hệ thống xếp hạng dành cho các đội tuyển quốc gia nam ở môn bóng đá, dẫn đầu là Argentina tính đến tháng
thumb|Chi nhánh Bắc Kinh. thumb|ICBC tại [[Tây An]] thumb|ICBC Canada **Ngân hàng Công thương Trung Quốc** (tên tiếng Trung Quốc: 中国工商银行股份有限公司, Hán-Việt: _Trung Quốc Công Thương Ngân hàng Cổ phần hữu hạn công ty_; tiếng
thumb|Văn phòng trung tâm của KfW **Ngân hàng Tái thiết Đức** (tiếng Đức: **_Kreditanstalt für Wiederaufbau_**, viết tắt: **KfW**) là định chế tài chính quốc tế thuộc sở hữu chính phủ của Đức. Tập đoàn
**Caprifoliaceae** là danh pháp khoa học để chỉ một họ thực vật có hoa, trong một số tài liệu bằng tiếng Việt gọi là **họ Cơm cháy**, nhưng tên gọi này hiện nay không thể
**Lập ngân sách vốn** (hay thẩm định đầu tư) là quá trình lập kế hoạch được sử dụng để xác định liệu các đầu tư dài hạn của một tổ chức như máy móc thiết
KỆ MỸ PHẨM ĐA NĂNG BẰNG TRE ÉP CỰC ĐẸP - SIÊU BỀN* Mô tả sản phẩm:- Kệ để đồ mỹ phẩm đa năng được làm bằng chất liệu tre tự nhiên an toàn, thân
KỆ MỸ PHẨM TRANG SỨC ĐA NĂNG BẰNG TRE ÉP CAO CẤP* Mô tả sản phẩm:- Kệ để đồ mỹ phẩm trang sức đa năng được làm bằng chất liệu tre tự nhiên an toàn,
KỆ MỸ PHẨM ĐA NĂNG BẰNG TRE ÉP - KHAY ĐỰNG MỸ PHẨM CỰC ĐẸP - SIÊU BỀN* Mô tả sản phẩm:- Kệ để đồ mỹ phẩm đa năng được làm bằng chất liệu tre
KỆ MỸ PHẨM ĐA NĂNG BẰNG TRE ÉP - KHAY ĐỰNG TRANG SỨC MỸ PHẨM CAO CẤP* Mô tả sản phẩm:- Kệ để đồ trang sức mỹ phẩm đa năng được làm bằng chất liệu
ĐỦ SIZE S, M, L NHA KHÁCH Hè sắp tới mà có mấy em xếp ly ngắn trong tủ quần áo thì đi chơi đi làm không phải nghĩ luôn Mát mẻ - Thoải mái
**Ngân hàng Thương mại Cổ phần An Bình, **tên giao dịch bằng tiếng Anh: An Binh Commercial Joint Stock Bank, tên giao dịch viết tắt là ABBANK. Vốn điều lệ hiện nay của ABBANK là
Trong khoa học máy tính, **sắp xếp trộn** (_merge sort_) là một thuật toán sắp xếp để sắp xếp các danh sách (hoặc bất kỳ cấu trúc dữ liệu nào có thể truy cập tuần
**Các bảng xếp hạng _Billboard**_ sắp thứ tự hàng tuần mức độ phổ biến của các bài hát và album ở Mỹ. Kết quả được xuất bản trên tạp chí âm nhạc _Billboard_. Hai bảng
Trong hầu hết trường hợp, các nhà phát hành các loại chứng khoán là các công ty, các thực thể có mục đích đặc biệt, các chính quyền địa phương hoặc trung ương, các tổ
**Bảng xếp hạng đại học thế giới Webometrics** (tiếng Anh: _Webometrics Ranking of World Universities_) hay **Bảng xếp hạng web của các trường đại học** là một hệ thống xếp hạng các trường đại học
MÔ TẢ SẢN PHẨMBộ cọ bao gồm 11 cây với đầy đủ chức năng cơ bản, cán cọ ngắn và chắc chắn dễ cầm và không lo cây cọ chạm vào gương1. Deluxe Fan BrushLông
**Ngân hàng TMCP Đầu tư và Phát triển Việt Nam** (tên giao dịch Tiếng Anh: _Joint Stock Commercial Bank for Investment and Development of Vietnam_ ) tên gọi tắt: "**BIDV",** là ngân hàng thương mại
**Ngân hàng cho cá nhân** là dịch vụ ngân hàng, đầu tư và các dịch vụ tài chính khác do các ngân hàng và công ty dịch vụ tài chính cung cấp chủ yếu cho
**Ngân hàng giám sát,** hoặc đơn giản là **Người** **giám sát,** là một tổ chức tài chính chuyên bảo vệ tài sản tài chính của một cá nhân hoặc của công ty và không được
**Ngân hàng Phát triển mới** (, tên viết tắt: NDB) là một ngân hàng phát triển đa phương do các quốc gia thuộc khối BRICS đứng ra thành lập. Theo thỏa thuận Thành lập Ngân
🌺 MÔ TẢ SẢN PHẨM - Combo 2 món cực xinh với phần váy xếp li dáng ngắn siết eo nhẹ - Áo cổ vest trang nhã lịch thiệp phối nút đóng trọng - Chất
**Vụ cướp ngân hàng Tiflis 1907**, cũng gọi là **Sung công quảng trường Erivan**, là một vụ cướp có vũ trang vào ngày 26 tháng 6 năm 1907 ở thành phố Tiflis, tỉnh Tiflis, thuộc
**Nhóm Ngân hàng Phát triển Châu Phi** (AfDB) hay **Banque Victaine de Développement** (BAD) là một tổ chức tài chính phát triển đa phương. AfDB được thành lập vào năm 1964 và bao gồm ba
**Ngân hàng Thương mại cổ phần Việt Nam Thịnh Vượng** **(VPBank)** được thành lập ngày 12 tháng 8 năm 1993, là một trong những ngân hàng thương mại cổ phần có lịch sử lâu đời
**Tổ chức Tài chính Quốc tế** (tiếng Anh: _International Finance Corporation_, thường được gọi tắt là **IFC**), thành viên của **Nhóm Ngân hàng Thế giới**, là một tổ chức tài chính và phát triển quốc
Kích thước nhỏ gọn, tiện dụng mang đi các địa điểm khác nhauChất liệu Loại vải dù cao cấp bọc bên ngoài, chống thấm nước cao cấp, tránh tác động với các đồ bên trongHình
Chào Bạn! Chào mừng bạn đến cửa hàng của chúng tôi! Thông số kỹ thuật Chất liệu: Cotton pha. Mùa: mùa hè. Tay áo: ngắn tay xếp nếp. Họa tiết: sọc. Phù hợp: rộng. Nội
Kích thước nhỏ gọn, tiện dụng mang đi các địa điểm khác nhauChất liệu Loại vải dù cao cấp bọc bên ngoài, chống thấm nước cao cấp, tránh tác động với các đồ bên trongHình
Kích thước nhỏ gọn, tiện dụng mang đi các địa điểm khác nhauChất liệu Loại vải dù cao cấp bọc bên ngoài, chống thấm nước cao cấp, tránh tác động với các đồ bên trongHình
chân váy xếp ly tầng .váy kèm quần trong,có túi bên hông .from SIZE S 45kgSIZE M 50 KGSIZE L 52 KGchân váy xếp ly tầng .váy kèm quần trong,có túi bên hông .from SIZE
chân váy xếp ly tầng .váy kèm quần trong,có túi bên hông .from SIZE S 45kgSIZE M 50 KGSIZE L 52 KGchân váy xếp ly tầng .váy kèm quần trong,có túi bên hông .from SIZE
Đây là **danh sách các xếp hạng quốc tế**. ## Theo thể loại ### Tổng quát *Chỉ số quốc gia tốt *Chỉ số toàn cầu hóa ### Nông nghiệp *Largest producing countries of agricultural commodities