限定僅在表尾進(jìn)行插入或刪除的,后進(jìn)先出的線性表
base:棧底指針,始終指向棧底位置。若base=NULL,表明棧結(jié)構(gòu)不存在。
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的數(shù)組空間
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;
}
鏈棧注:鏈棧中一般不設(shè)置頭結(jié)點(diǎn)
定義typedef struct Node
{SElemType data;
struct Node *next;
}Node,*LinkStack;
初始化Status InitStack(LinkStack &S) //S:棧頂指針
{S==NULL;
return OK;
}
???pre>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;
}
隊(duì)列
定義以及隊(duì)列僅允許在表的一端進(jìn)行插入(隊(duì)尾),在另一端進(jìn)行刪除的(隊(duì)頭),先進(jìn)先出的線性表
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);
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站標(biāo)題:數(shù)據(jù)結(jié)構(gòu)(三)——棧和隊(duì)列-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://bm7419.com/article48/djhiep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)建站、網(wǎng)站設(shè)計公司、靜態(tài)網(wǎng)站、動態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容