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

溫馨提示×

c語言創建一個棧的方法是什么

小億
113
2023-11-28 17:15:40
欄目: 編程語言

在C語言中,可以通過以下步驟來創建一個棧:

  1. 定義一個結構體來表示棧的元素:
typedef struct {
   int maxSize;     // 棧的最大容量
   int top;         // 當前棧頂元素的索引
   int* stackArray; // 存儲棧元素的數組
} Stack;
  1. 定義棧的相關操作函數,包括初始化棧、入棧、出棧、獲取棧頂元素等:
void initStack(Stack* stack, int maxSize) {
   stack->maxSize = maxSize;
   stack->top = -1;
   stack->stackArray = (int*)malloc(maxSize * sizeof(int));
}

void push(Stack* stack, int element) {
   if (stack->top == stack->maxSize - 1) {
      printf("棧已滿,無法入棧\n");
      return;
   }
   stack->stackArray[++(stack->top)] = element;
}

int pop(Stack* stack) {
   if (stack->top == -1) {
      printf("棧已空,無法出棧\n");
      return -1;
   }
   return stack->stackArray[(stack->top)--];
}

int top(Stack* stack) {
   if (stack->top == -1) {
      printf("棧已空\n");
      return -1;
   }
   return stack->stackArray[stack->top];
}
  1. 使用棧的相關操作函數來創建和操作棧:
int main() {
   Stack stack;
   int maxSize = 10; // 假設棧的最大容量為10
   initStack(&stack, maxSize); // 初始化棧

   // 入棧
   push(&stack, 1);
   push(&stack, 2);
   push(&stack, 3);

   // 出棧
   printf("%d\n", pop(&stack)); // 輸出3
   printf("%d\n", pop(&stack)); // 輸出2

   // 獲取棧頂元素
   printf("%d\n", top(&stack)); // 輸出1

   return 0;
}

以上代碼演示了如何創建一個棧,并進行入棧、出棧、獲取棧頂元素的操作。

0
潜江市| 肥乡县| 万载县| 乐陵市| 长岛县| 会东县| 永福县| 金阳县| 前郭尔| 漯河市| 南澳县| 太康县| 天门市| 镇远县| 紫金县| 万源市| 永修县| 绍兴市| 遂川县| 宁河县| 定安县| 昌乐县| 昌吉市| 武川县| 北京市| 梧州市| 廊坊市| 来安县| 玉门市| 山东| 平泉县| 广州市| 华池县| 清水河县| 调兵山市| 竹山县| 牟定县| 喜德县| 上栗县| 磐安县| 长沙市|