真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言棧實現(xiàn):順序棧-創(chuàng)新互聯(lián)

目錄:
  • 概念理解:
  • 順序棧結(jié)構(gòu)體:
  • 初始化順序棧:
  • 判???:
  • 入棧:
  • 出棧:
  • 讀棧頂元素:
  • 測試:

創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序設(shè)計、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立10年以來,已經(jīng)為上1000家成都玻璃貼膜各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)。現(xiàn)在,服務(wù)的上1000家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。概念理解:

棧是一種操作受限的線性表,LIFO。
棧:邏輯結(jié)構(gòu)
順序棧:使用順序存儲方式實現(xiàn)的棧

??諚l件:S.top == -1
棧滿條件:S.top == MaxSize-1
棧長:S.top+1
非空條件下,top始終指向棧尾元素。

順序棧結(jié)構(gòu)體:
#define MaxSize 50
//棧的順序存儲結(jié)構(gòu) 
typedef struct{//數(shù)據(jù)用數(shù)組存放 
	int data[MaxSize];
	//存儲數(shù)組最后一個元素的下標,代表棧頂指針 
	int top;
} SqStack;
初始化順序棧:
//初始化順序棧,將棧頂指針置為-1 
void InitStack(SqStack &S){S.top = -1; 
}
判???:
//判棧空 
bool StackEmpty(SqStack S){if(S.top == -1){return true;
	}
	return false;
}
入棧:
//入棧 
bool Push(SqStack &S,int x){//判斷棧滿,S.top范圍:-1,0~49 
	if(S.top == MaxSize-1){return false;
	}
	//首先top+1,然后入棧 
	S.data[++S.top] = x;
	return true;	
}
出棧:
//出棧,只是邏輯結(jié)構(gòu)上的出棧,top--,存儲結(jié)構(gòu)上看出棧的元素還在內(nèi)存中 
bool Pop(SqStack &S,int &x){//判斷棧滿,S.top范圍:-1,0~49 
	if(S.top == MaxSize-1){return false;
	}
	//首先出棧,然后top-1 
	S.data[S.top--];
	return true;
}
讀棧頂元素:
//讀棧頂元素 
bool GetTop(SqStack S,int &x){//判棧空 
	if(S.top == -1){return false;
	}
	//top即棧頂元素的下標 
	x = S.data[S.top];
	return true; 
}
測試:
#include#include//使用malloc和free關(guān)鍵字需要引入這個庫

#define MaxSize 50
//棧的順序存儲結(jié)構(gòu) 
typedef struct{//數(shù)據(jù)用數(shù)組存放 
	int data[MaxSize];
	//存儲數(shù)組最后一個元素的下標,代表棧頂指針 
	int top;
} SqStack;

//初始化順序棧,將棧頂指針置為-1 
void InitStack(SqStack &S){S.top = -1; 
}

//判???
bool StackEmpty(SqStack S){if(S.top == -1){return true;
	}
	return false;
}

//入棧 
bool Push(SqStack &S,int x){//判斷棧滿,S.top范圍:-1,0~49 
	if(S.top == MaxSize-1){return false;
	}
	//首先top+1,然后入棧 
	S.data[++S.top] = x;
	return true;	
} 

//出棧,只是邏輯結(jié)構(gòu)上的出棧,top--,存儲結(jié)構(gòu)上看出棧的元素還在內(nèi)存中 
bool Pop(SqStack &S,int &x){//判斷棧滿,S.top范圍:-1,0~49 
	if(S.top == MaxSize-1){return false;
	}
	//首先出棧,然后top-1 
	S.data[S.top--];
	return true;
} 

//讀棧頂元素 
bool GetTop(SqStack S,int &x){//判???
	if(S.top == -1){return false;
	}
	//top即棧頂元素的下標 
	x = S.data[S.top];
	return true; 
}

//打印棧 
void Print(SqStack S){printf("棧內(nèi)元素:");	
	for(int i=0;i<=S.top;i++){printf("%d ",S.data[i]);
	}
	printf("棧頂指針:%d\n",S.top);
} 

int main(){//聲明一個結(jié)構(gòu)體類型的順序棧元素 
	SqStack S;
	//初始化 
	InitStack(S);
	printf("當前棧是否為空:%d\n",StackEmpty(S));
	//入棧
	Push(S,3); 
	Push(S,2);
	Push(S,4);
	Push(S,6);	
	printf("當前棧是否為空:%d\n",StackEmpty(S));
	//讀棧頂元素
	int x = 0; 
	GetTop(S,x);
	printf("當前棧頂元素:%d\n",x);
	//出棧
	Pop(S,x);
	printf("出棧元素:%d\n",x);
	GetTop(S,x);
	printf("當前棧頂元素:%d\n",x);
	//打印棧
	Print(S); 
}

在這里插入圖片描述

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


分享題目:C語言棧實現(xiàn):順序棧-創(chuàng)新互聯(lián)
瀏覽路徑:http://weahome.cn/article/espge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部