中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
元氏县| 平度市| 皋兰县| 夏河县| 阿鲁科尔沁旗| 高尔夫| 海兴县| 澳门| 珠海市| 醴陵市| 望城县| 合作市| 五大连池市| 盖州市| 平远县| 兴隆县| 太和县| 泾阳县| 吴桥县| 崇明县| 虎林市| 含山县| 武汉市| 潜江市| 壤塘县| 滕州市| 婺源县| 扎兰屯市| 姜堰市| 化隆| 莆田市| 柳河县| 翼城县| 天水市| 乡城县| 绍兴市| 图木舒克市| 永寿县| 阜阳市| 日喀则市| 石狮市|