日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构--顺序栈

發布時間:2024/6/30 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构--顺序栈 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/* * 構造一個順序棧(當輸入9999時,結束入棧操作),輸出棧中元素,顯示棧頂元素,刪除棧頂元素 */ #include <stdio.h> #include <stack> #include <stdlib.h> #define STACK_INIT_SIZE 100 #define OK 1 #define ERROR 0 typedef int SElemType; //順序棧結構體 struct SqStack {int *base;//指向棧底的指針int *top;//指向棧頂元素下一個位置的指針int stacksize;//棧的大小 }; //1.初始化順序棧 int InitStrack(SqStack &S){S.base = new SElemType[STACK_INIT_SIZE];//為順序棧動態分配內存 if(!S.base){ //分配失敗 exit(1); //退出程序,參數0表示正常退出,非0表示異常退出 }S.top = S.base; //top初始為base,表示空棧 S.stacksize = STACK_INIT_SIZE; //棧的最大容量 return OK; } //2.入棧 int Push(SqStack &S,SElemType e){if(S.top - S.base == S.stacksize){ //表示棧滿,增加空間 int *newbase; //指針用于指向新生成的空間位置 newbase=new int[S.stacksize*2]; //重新開辟一個空間 if(newbase==0) return 0; //內存分配失敗,返回0 for (int i=0;i<=S.stacksize-1;i++){ //將原有棧中的元素拷貝到新棧中 newbase[i]=S.base[i];} delete S.base; //刪除原有棧的空間 S.base=newbase; //原有棧的棧底指針指向新棧空間 S.top=&S.base[S.stacksize]; //新棧棧頂元素的下一個位置 S.stacksize *=2;}//*S.top++ = e; //元素壓入棧中,指針S.top加加 *S.top=e;S.top++;return OK; } //3.出棧 int Pop(SqStack &S){if(S.top == S.base){printf("空棧!"); return ERROR;}--S.top;return OK; } //4.取棧頂元素 SElemType GetTop(SqStack S){if(S.top != S.base){return *(S.top - 1);}return 00; } //5.打印,輸出 void Print(SqStack S) {//打印棧中元素,順序是從棧底到棧頂int *p=S.base;while (p<S.top){printf("%d ",*p);p++;}printf("\n"); } //主函數 int main(void){SqStack S;int x,y;InitStrack(S);printf("Enter Numbers:\n");while(true){scanf("%d",&x);if(x == 9999){break;}Push(S,x); //構造順序棧 } printf("The stack elems:");Print(S);printf("1.入棧:");scanf("%d",&x);Push(S,x);printf("The stack elems:");Print(S); y = GetTop(S);printf("2.取得棧頂元素:%d\n",y);printf("3.出棧:\n");Pop(S);printf("The stack elems:");Print(S);}

轉載于:https://www.cnblogs.com/tengpengfei/p/10454028.html

總結

以上是生活随笔為你收集整理的数据结构--顺序栈的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。