當涉及到C語言中的數據結構和算法時,pop函數是一個非常常用的函數。它用于從棧中彈出(或刪除)棧頂元素。下面是pop函數的用法示例:
`c
#include
#include
#define MAX_SIZE 100
typedef struct {
int stack[MAX_SIZE];
int top;
} Stack;
void init(Stack *s) {
s->top = -1;
int isEmpty(Stack *s) {
return (s->top == -1);
int isFull(Stack *s) {
return (s->top == MAX_SIZE - 1);
void push(Stack *s, int data) {
if (isFull(s)) {
printf("Stack Overflow\n");
return;
}
s->stack[++s->top] = data;
int pop(Stack *s) {
if (isEmpty(s)) {
printf("Stack Underflow\n");
return -1;
}
return s->stack[s->top--];
int main() {
Stack s;
init(&s);
push(&s, 10);
push(&s, 20);
push(&s, 30);
printf("Popped element: %d\n", pop(&s));
printf("Popped element: %d\n", pop(&s));
printf("Popped element: %d\n", pop(&s));
return 0;
`
在上面的代碼中,我們首先定義了一個結構體Stack,其中包含一個數組stack和一個指示棧頂位置的變量top。然后,我們實現了一些輔助函數,如init、isEmpty和isFull,用于初始化棧、判斷棧是否為空和是否已滿。
在主函數中,我們首先初始化了一個棧s,并使用push函數將元素10、20和30依次入棧。然后,我們使用pop函數分別從棧中彈出元素,并將其打印出來。
以上就是pop函數在C語言中的用法示例。通過使用pop函數,我們可以輕松地從棧中刪除棧頂元素,使得棧的操作更加靈活和高效。
千鋒教育IT培訓課程涵蓋web前端培訓、Java培訓、Python培訓、大數據培訓、軟件測試培訓、物聯網培訓、云計算培訓、網絡安全培訓、Unity培訓、區塊鏈培訓、UI培訓、影視剪輯培訓、全媒體運營培訓等業務;此外還推出了軟考、、PMP認證、華為認證、紅帽RHCE認證、工信部認證等職業能力認證課程;同期成立的千鋒教研院,憑借有教無類的職業教育理念,不斷提升千鋒職業教育培訓的質量和效率。