生活随笔
收集整理的這篇文章主要介紹了
                                
c实现出栈入栈功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            1 ?原理圖
 
 
 
2 最后的效果圖
 
 
 
 
 
3 完整代碼如下:
 
 
 
#include<stdio.h>
#include<malloc.h>typedef  struct Node{int data;struct Node  * pNext;
}Node,*PNode;typedef struct Stack{PNode pbottom;PNode ptop;
}Stack,*PStack;PStack initStack();
int isEmpty(PStack pStack);
void pushStack(PStack pStack,int val);
void traverseStack(PStack pStack);
void popStack(PStack pStack);int main(void){//初始化棧PStack pStack;pStack = initStack();//入棧if(isEmpty(pStack)){printf("棧為空1\n");}pushStack(pStack,1);pushStack(pStack,2);pushStack(pStack,3);pushStack(pStack,4);pushStack(pStack,5);pushStack(pStack,6);pushStack(pStack,7);pushStack(pStack,8);if(isEmpty(pStack)){printf("棧為空2\n");}//遍歷棧traverseStack(pStack);//出棧popStack(pStack);//遍歷棧traverseStack(pStack);//出棧popStack(pStack);//遍歷棧traverseStack(pStack);return 1;
}int isEmpty(PStack pStack){if(pStack->ptop->pNext == NULL){return 1;}else{return 0;}
};//遍歷棧
void traverseStack(PStack pStack){if(isEmpty(pStack)){printf("棧為空");exit(1);}PNode pnode =  pStack->ptop;// pStack->ptopprintf("棧的值為: \n");while(pnode->pNext!= NULL){printf("%d ",pnode->data);pnode = pnode->pNext;}printf("\n");
}//出棧
void popStack(PStack pStack){if(isEmpty(pStack)){printf("出棧失敗,棧為空");return ;}if(pStack->ptop->pNext != NULL){PNode pnode =  pStack->ptop;printf("出棧元素的值為 : %d\n",pnode->data);pStack->ptop = pStack->ptop->pNext;free(pnode);//銷毀無用的Node}}//入棧
void pushStack(PStack pStack,int val){//初始化節點PNode node = (Node *) malloc(sizeof(Node));if(node==NULL){printf("入棧失敗,內存內存不夠");exit(1);}node->data = val;node->pNext = pStack->ptop;//入棧 PNode node = NULL;pStack->ptop = node;};//初始化棧
PStack initStack(){printf("初始化棧\n");PStack pStack = (Stack *)malloc(sizeof(Stack));if(pStack==NULL){printf("初始化棧失敗,內存不夠");exit(1);}pStack->ptop = (Node *)malloc(sizeof(Node));pStack->ptop->pNext = NULL;pStack->pbottom = pStack->ptop ;return pStack;}
 
 
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
                            
總結
                            
                                以上是生活随笔為你收集整理的c实现出栈入栈功能的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。