bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

數據結構(三)——棧和隊列-創新互聯

棧和隊列

創新互聯公司"三網合一"的企業建站思路。企業可建設擁有電腦版、微信版、手機版的企業網站。實現跨屏營銷,產品發布一步更新,電腦網絡+移動網絡一網打盡,滿足企業的營銷需求!創新互聯公司具備承接各種類型的成都網站制作、成都做網站項目的能力。經過十載的努力的開拓,為不同行業的企事業單位提供了優質的服務,并獲得了客戶的一致好評。目錄
  • 棧和隊列
    • 定義以及特點
    • 棧頂指針與棧底指針
    • 操作
      • 順序棧的定義
      • 初始化
      • 入棧
      • 出棧
      • 取棧頂元素
      • 銷毀
    • 鏈棧
      • 定義
      • 初始化
      • 棧空
      • 棧長
      • 取棧頂元素
      • 出棧
      • 入棧
  • 隊列
    • 定義以及隊列
  • 進制轉換

棧 定義以及特點

限定僅在表尾進行插入或刪除的,后進先出的線性表
在這里插入圖片描述

棧頂指針與棧底指針

base:棧底指針,始終指向棧底位置。若base=NULL,表明棧結構不存在。
top:棧頂指針,初值指向棧底。插入新元素時top+1,刪除元素時top-1.。
空棧時,top與base的值相等,均指向棧底;非空時top始終指向棧頂元素的上一個位置。
在這里插入圖片描述

操作 順序棧的定義
#define MAXSIZE 100;
typedef struct
{SElemType *base;
  SElemType *top;
  int stacksize;                          //棧可用的大容量
}SqStack;
初始化
Status InitStack(SqStack &S)
{S.base=new SElemType[MAXSIZE];      //為順序棧分配一個大容量為MAXSIZE的數組空間
   if(!S=base) exit(OVERFLOW);         //存儲分配失敗
   S.top = S.base;
   S.stacksize=MAXSIZE;
   return OK;
}
入棧
Status Push(SqStack &S,SElemType e)
{if(S.top-S.base==S.stacksize) return ERROR;
  *S.top++=e;     //*S.top=e;S.top++;
  return OK;
}
出棧
Status Pop(SqStack &S,SElemType e)
{if(S.top==S.base) return ERROR;
  e=*--S.top;
  return OK;
}
取棧頂元素
SElemType GetTop(SqStack S)
{if(S.top==S.base)
   return *(S.top-1);
}
銷毀
void DestroyStack(SqStack &S)
{delete []S.base;
  S.stacksize=0;
  S.base=S.top=NULL;
 }
鏈棧

:鏈棧中一般不設置頭結點

定義
typedef struct Node
{SElemType data;
 struct Node *next;
}Node,*LinkStack;
初始化
Status InitStack(LinkStack &S)    //S:棧頂指針
{S==NULL;
   return OK;
}
棧空
bool StackEmpty(LinkStack S)
{return (S==NULL);
棧長
int StackLength(LinkStack S)
{for(i=0,p=S;p;i++,p=p->next);
   return i;
}  
取棧頂元素
Status GetTop(LinkStack S,SElemType &e)
{if(S==NULL) return ERROR;
   e=S->data;
   return OK;
} 
出棧
Status Pop(LinkStack &S,SElemType e)
{if(S==NULL) return ERROR;
  e=S->data;
  p=S;
  S=S->next;
  delete p;
  return OK;
}
入棧
Status Push(LinkStack &S,SElemType e)
{p=new StackNode;
  p->data=e;
  p->next=S;
  S=p;
  return OK;
}
隊列 定義以及隊列

僅允許在表的一端進行插入(隊尾),在另一端進行刪除的(隊頭),先進先出的線性表
在這里插入圖片描述

進制轉換
void conversion(int N,int r){InitStack(S);
while(N)
{Push(S,N%r);
   N=N/r;
}
while(!StackEmpty(S)){Pop(S,e);
   if(e<10)printf("%d",e);
   else printf("%c",'A'+e-10);
} 

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

網站標題:數據結構(三)——棧和隊列-創新互聯
當前路徑:http://vcdvsql.cn/article48/djhiep.html

成都網站建設公司_創新互聯,為您提供微信小程序企業建站網站設計公司靜態網站動態網站外貿網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司