91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
莱西市| 阳东县| 金阳县| 庄河市| 桓台县| 福泉市| 岢岚县| 东乌| 靖边县| 扬州市| 海原县| 婺源县| 宕昌县| 南充市| 澜沧| 武平县| 若尔盖县| 房山区| 鄄城县| 安新县| 华安县| 鹤岗市| 巴彦淖尔市| 临澧县| 铅山县| 满洲里市| 台南县| 兰州市| 古浪县| 石门县| 晋中市| 彭阳县| 宣恩县| 北票市| 喜德县| 阿拉善盟| 托克逊县| 奉新县| 马尔康县| 沧州市| 锦州市|