來源自 這裡
範例代碼:
執行結果:
範例代碼:
- #include
- #include
- struct
- {
- int pt;
- int buffer[256];
- } Stack_int;
- int Stack_int_Size()
- {
- return Stack_int.pt;
- }
- void Stack_int_Init()
- {
- Stack_int.pt =0;
- memset(Stack_int.buffer,0,sizeof(int)*256);
- }
- bool Stack_int_Is_Empty()
- {
- if(Stack_int.pt ==0)
- return true;
- return false;
- }
- bool Stack_int_Is_Full()
- {
- if(Stack_int.pt >=255)
- return true;
- return false;
- }
- bool Stack_int_Push(int data)
- {
- if(Stack_int_Is_Full())
- return false;
- Stack_int.buffer[Stack_int.pt] = data;
- Stack_int.pt++;
- return true;
- }
- bool Stack_int_Pop(int *data)
- {
- if(Stack_int_Is_Empty())
- return false;
- Stack_int.pt--;
- *data = Stack_int.buffer[Stack_int.pt];
- return true;
- }
- int main() {
- int data;
- Stack_int_Init();
- printf("\t[Info] Push 10...\n");
- Stack_int_Push(10);
- printf("\t[Info] Push 20...\n");
- Stack_int_Push(20);
- printf("\t[Info] Stack size=%d:\n", Stack_int_Size());
- while(Stack_int_Pop(&data))
- {
- printf("\t[Info] Pop: %d...\n", data);
- }
- return 0;
- }
沒有留言:
張貼留言