亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言堆棧的使用方法是什么

小億
95
2023-11-24 06:50:27
欄目: 編程語言

在C語言中,可以使用數組來實現堆棧的功能。堆棧是一種“后進先出”(Last-In-First-Out,LIFO)的數據結構,只允許在一端進行插入和刪除操作,這一端被稱為棧頂。

以下是使用數組實現堆棧的基本步驟:

  1. 定義一個數組作為堆棧的存儲空間。
  2. 定義一個變量作為棧頂指針,用于指示當前棧頂元素的位置。初始時,棧頂指針可以設為-1,表示堆棧為空。
  3. 插入元素時,將棧頂指針加1,然后將要插入的元素放入數組中棧頂指針所指向的位置。
  4. 刪除元素時,先將棧頂指針所指向的元素取出,然后將棧頂指針減1。
  5. 在插入元素前,需要判斷堆棧是否已滿;在刪除元素前,需要判斷堆棧是否為空。

以下是一個使用數組實現堆棧的示例代碼:

#include <stdio.h>

#define MAX_SIZE 100

int stack[MAX_SIZE];  // 堆棧的存儲空間
int top = -1;         // 棧頂指針

void push(int data) {
    if (top >= MAX_SIZE - 1) {
        printf("Stack Overflow\n");
        return;
    }
    stack[++top] = data;
}

int pop() {
    if (top < 0) {
        printf("Stack Underflow\n");
        return -1;
    }
    return stack[top--];
}

int main() {
    push(1);
    push(2);
    push(3);
    printf("%d\n", pop());  // 輸出3
    printf("%d\n", pop());  // 輸出2
    printf("%d\n", pop());  // 輸出1
    printf("%d\n", pop());  // 輸出Stack Underflow

    return 0;
}

在這個示例代碼中,我們定義了一個大小為100的數組作為堆棧的存儲空間,并定義了棧頂指針top。push函數用于插入元素,pop函數用于刪除元素。在main函數中,我們先插入三個元素(1、2、3),然后依次刪除元素并輸出結果。當堆棧已滿時,插入元素會輸出"Stack Overflow";當堆棧為空時,刪除元素會輸出"Stack Underflow"。

0
和平区| 临泉县| 都江堰市| 平利县| 岚皋县| 瑞丽市| 藁城市| 宁河县| 施秉县| 南雄市| 丹江口市| 阳新县| 柳林县| 霍城县| 定安县| 榆林市| 苏尼特右旗| 深州市| 内乡县| 承德市| 洞口县| 武威市| 新安县| 明星| 达拉特旗| 蕉岭县| 江城| 大厂| 游戏| 正蓝旗| 四平市| 建宁县| 福安市| 平顶山市| 灌阳县| 玉林市| 桂东县| 山东| 盐亭县| 广州市| 迁西县|