Ngăn xếp S được cài đặt bằng mảng T có N phân tử, phần tử đầu tiên có chỉ số 0

Giải Chuyên đề Tin 12 Bài 2: Kiểu dữ liệu ngăn xếp - Kết nối tri thức

Vận dụng 2 trang 12 Chuyên đề Tin học 12: Ngăn xếp S được cài đặt bằng mảng T có N phân tử, phần tử đầu tiên có chỉ số 0. Hãy viết các hàm cơ bản trên ngăn xếp S.

Lưu ý: 

- Biến topldx cho biết đỉnh top của ngăn xếp. 

- Ngăn xếp là rỗng thì topldx = -1. Khi topldx = N-1 thì ngăn xếp bị tràn (overflow), không thể thêm phần tử mới vào ngăn xếp S. 

- Viết hàm stackOverflow(S) trả về True nếu ngăn xếp S bị tràn; ngược lại trả về False. Hàm stackOverflow(S) sẽ tạo ngoại lệ ValueError(). Sử dụng hàm stackOverflow(S) để kiểm tra ngăn xếp S chưa bị tràn trước khi gọi hàm push(S, x)

Quảng cáo
Cài đặt app vietjack

Lời giải:

def push(S, x):

        try:

            if not S.stackOverflow():

                S.topldx += 1

                S.T[S.topldx] = x

        except ValueError as e:

            print(e)

def pop(S):

        if S.isEmpty():

            raise IndexError(“Ngăn xếp rỗng!")

        item = S.T[S.topldx]

        S.T[S.topldx] = None 

        S.topldx -= 1

        return item

def isEmptyStack(S):

        return S.topldx == -1

def isFull(S):

        return S.topldx == self.size - 1

Quảng cáo

Lời giải bài tập Chuyên đề Tin 12 Bài 2: Kiểu dữ liệu ngăn xếp hay, ngắn gọn khác:

Quảng cáo
Quảng cáo

Xem thêm lời giải bài tập Chuyên đề học tập Tin học 12 Kết nối tri thức hay, ngắn gọn khác:

Xem thêm các tài liệu học tốt lớp 12 hay khác:

ĐỀ THI, GIÁO ÁN, GÓI THI ONLINE DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 12

Bộ giáo án, đề thi, bài giảng powerpoint, khóa học dành cho các thầy cô và học sinh lớp 12, đẩy đủ các bộ sách cánh diều, kết nối tri thức, chân trời sáng tạo tại https://tailieugiaovien.com.vn/ . Hỗ trợ zalo VietJack Official


Giải bài tập lớp 12 sách mới các môn học
Tài liệu giáo viên