sách gpt4 ăn đã đi

Chuỗi thuật toán 15 ngày Nhanh chóng Ngăn xếp ngày thứ 10

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 28 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN Chuỗi thuật toán 15 ngày khởi động nhanh ngăn xếp ngày thứ mười này được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.

Một: Khái niệm.

         Stack cũng là một bảng tuyến tính đặc biệt, là một dạng bảng vào sau ra trước (lifo). Có rất nhiều ví dụ như vậy trong thực tế.

     Ví dụ: một chồng đĩa ở căng tin, chúng ta chỉ có thể lấy từng cái một từ trên xuống.

  。

Thứ hai: Cấu trúc lưu trữ.

        "Ngăn xếp" không giống như "hàng đợi", đòi hỏi hai con trỏ để duy trì. Ngăn xếp chỉ cần một con trỏ. Điều này là do thực tế là ngăn xếp là một danh sách tuyến tính bị giới hạn ở một đầu.

      Ở đây, một "cấu trúc tuần tự" cũng được sử dụng để lưu trữ "ngăn xếp" này. Con trỏ trên cùng trỏ đến đỉnh của ngăn xếp và mọi thao tác chỉ có thể được thực hiện ở trên cùng.

          。

Chuỗi thuật toán 15 ngày Nhanh chóng Ngăn xếp ngày thứ 10

Đoạn mã:

  。

Sao chép mã Mã này như sau:

#khu vực Cấu trúc dữ liệu ngăn xếp /// /// Cấu trúc dữ liệu ngăn xếp /// public class seqstack { public t[] data,

  。

        /// /// Con trỏ đỉnh ngăn xếp /// public int top = -1,

        public seqstack(int lenth) { data = new t[length]; } } #cuối vùng .

  。

Ba: Hoạt động chung.

        Các thao tác ngăn xếp bao gồm: ① khởi tạo ngăn xếp, ② đẩy lên ngăn xếp, ③ bật ra khỏi ngăn xếp và ④ lấy phần trên cùng của ngăn xếp.

1: Khởi tạo ngăn xếp.

        Điều này tương đối đơn giản. Khi khởi tạo ngăn xếp, hãy đặt con trỏ trên cùng mặc định thành -1. Không cần hiển thị điều này bằng hình ảnh.

Đoạn mã:

  。

Sao chép mã Mã này như sau:

#khu vực Hoạt động khởi tạo ngăn xếp/// /// Hoạt động khởi tạo ngăn xếp/// /// /// public seqstack seqstackinit(độ dài int) { seqstack seqstack = seqstack(độ dài) mới,

  。

            seqstack.top = -1,

            trả về seqstack; } #endregion 。

  。

2: Đẩy vào ngăn xếp.

       Thao tác này chủ yếu thực hiện hai việc: ① đẩy phần tử từ đầu ngăn xếp, ② tăng con trỏ trên cùng.

Chuỗi thuật toán 15 ngày Nhanh chóng Ngăn xếp ngày thứ 10

  。

Đoạn mã:

  。

Sao chép mã Mã này như sau:

#khu vực 入栈 /// /// 入栈 /// /// /// /// public void seqstackpush(seqstack seqstack, t data) { if (seqstackisfull(seqstack)) ném mới ngoại lệ("不好意思,栈溢出"),

  。

            seqstack.data[++seqstack.top] = dữ liệu; } #endregion 。

  。

3: Bật ra khỏi ngăn xếp.

      Nó cũng tương tự như "đẩy". Có hai việc cần phải làm, ① loại bỏ phần tử ở trên cùng, ② giảm con trỏ trên cùng.

Chuỗi thuật toán 15 ngày Nhanh chóng Ngăn xếp ngày thứ 10

đoạn mã.

  。

Sao chép mã Mã này như sau:

#khu vực 出栈 /// /// 出栈 /// /// /// /// public t seqstackpop(seqstack seqstack) { if (seqstackisempty(seqstack)) ném mới ngoại lệ("呜呜,栈已空"),

  。

            seqstack.data[seqstack.top] = mặc định(t),

            trả về seqstack.data[--seqstack.top]; } #endregion 。

  。

4: Lấy phần tử trên cùng của ngăn xếp.

      Điều này rất đơn giản. Sự khác biệt duy nhất so với việc "bật ngăn xếp" là nó không phá hủy phần tử trên cùng của ngăn xếp, chỉ cần lật nó ra và xem xét.

đoạn mã.

  。

Sao chép mã Mã này như sau:

#khu vực Lấy phần đầu của ngăn xếp ///

/// Lấy phần đầu của ngăn xếp /// /// /// /// public t seqstackpeek(seqstack seqstack) { if (seqstackisempty(seqstack)) ném mới ngoại lệ ("ngăn xếp trống"),

  。

            trả về seqstack.data[seqstack.top]; } #endregion 。

  。

Tổng số mã chạy như sau.

  。

Sao chép mã Mã này như sau:

sử dụng hệ thống; sử dụng system.collections.generic; sử dụng system.linq; sử dụng system.text,

  。

không gian tên seqstack { lớp chương trình { static void main(string[] args) { seqstackclass stackmanager = new seqstackclass(),

            seqstack seqstack = stackmanager.seqstackinit(10),

            console.writeline("************************ Đẩy phần tử có id=1, id=2, id=3****** **** *************\n"); // Đẩy vào các phần tử có id=1, id=2, id=3 stackmanager.seqstackpush(seqstack, new sinh viên() { id = 1, name = "Lập trình viên dòng đầu tiên", age = 23 }); stackmanager.seqstackpush(seqstack, new sinh viên() { id = 2, name = "huangxinchen520", age = 23 }); stackmanager.seqstackpush(seqstack, new sinh viên() { id = 3, name = "51cto", age = 23 }),

            console.writeline(".... Quá trình đẩy thành công, các phần tử trong ngăn xếp hiện tại là: " + stackmanager.seqstacklen(seqstack) + ""),

            console.writeline("\n****************** Xem phần tử trên cùng của ngăn xếp****************** ****" ),

            kết quả var = stackmanager.seqstackpeek(seqstack),

            console.writeline("Phần tử trên cùng của ngăn xếp là: id=" + result.id + ",name=" + result.name + ",age=" + result.age),

            console.writeline("\n********************* Pop phần tử trên cùng trên ngăn xếp************ ********** ****"),

            stackmanager.seqstackpop(seqstack),

            console.writeline("\n****************** Xem các phần tử trong ngăn xếp****************** *****"),

            for (int i = 0; i < stackmanager.seqstacklen(seqstack); i++) { console.writeline("Số lượng tham số được sử dụng: id=" + seqstack.data[i].id + ",name=" + seqstack.data[i].name + ",age=" + seqstack.data[i].age); } 。

            console.read(); } } 。

    #khu vực thực thể dữ liệu sinh viên ///

/// thực thể dữ liệu sinh viên /// lớp công khai sinh viên { public int id { get;

        chuỗi công khai tên { lấy; đặt; } 。

        công khai int tuổi { lấy; đặt; } } #endregion 。

    #khu vực Cấu trúc dữ liệu ngăn xếp /// /// Cấu trúc dữ liệu ngăn xếp /// public class seqstack { public t[] data,

        /// /// Con trỏ đỉnh ngăn xếp /// public int top = -1,

        public seqstack(int lenth) { data = new t[length]; } } #cuối vùng .

    public class seqstackclass { #zone Hoạt động khởi tạo ngăn xếp/// /// Hoạt động khởi tạo ngăn xếp/// /// /// < /returns> public seqstack seqstackinit(int length) { seqstack seqstack = seqstack(length),

            seqstack.top = -1,

            trả về seqstack; } #endregion 。

        #khu vực Xác định xem ngăn xếp có trống không/// /// Xác định xem ngăn xếp có trống không/// /// /// /// bool công khai seqstackisempty(seqstack seqstack) { return seqstack.top == -1 } #cuối vùng .

        #khu vực 清空栈 /// /// 清空栈 /// /// /// public void seqstackclear(seqstack seqstack) { seqstack.top = -1; } #endzone 。

        #khu vực Ngăn xếp có đầy hay không /// /// Ngăn xếp có đầy hay không /// /// /// public bool seqstackisfull(seqstack seqstack) { return seqstack.top == seqstack.data.length; } #endzone .

        #khu vực 入栈 /// /// 入栈 /// /// /// /// public void seqstackpush(seqstack seqstack, t data) { if (seqstackisfull(seqstack)) ném mới ngoại lệ("不好意思,栈溢出"),

            seqstack.data[++seqstack.top] = dữ liệu; } #endregion 。

        #khu vực 出栈 /// /// 出栈 /// /// /// /// public t seqstackpop(seqstack seqstack) { if (seqstackisempty(seqstack)) ném mới ngoại lệ("呜呜,栈已空"),

            seqstack.data[seqstack.top] = mặc định(t),

            trả về seqstack.data[--seqstack.top]; } #endregion 。

        #khu vực Lấy phần đầu của ngăn xếp ///

/// Lấy phần đầu của ngăn xếp /// /// /// /// public t seqstackpeek(seqstack seqstack) { if (seqstackisempty(seqstack)) ném mới ngoại lệ ("ngăn xếp trống"),

            trả về seqstack.data[seqstack.top]; } #endregion 。

        #khu vực Lấy số phần tử trong ngăn xếp ///

/// Lấy số phần tử trong ngăn xếp /// /// / // /// public int seqstacklen(seqstack seqstack) { return seqstack.top + 1; #cuối vùng } } .

  。

  。

Chuỗi thuật toán 15 ngày Nhanh chóng Ngăn xếp ngày thứ 10

Cuối cùng, bài viết này về chuỗi thuật toán ngăn xếp nhanh ngày thứ mười trong 15 ngày đã có ở đây. Nếu bạn muốn biết thêm về chuỗi thuật toán ngăn xếp nhanh ngày thứ mười trong 15 ngày, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. blog của tôi trong tương lai! .

28 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress