當前位置:首頁 » 課程大全 » 順序棧的課程設計

順序棧的課程設計

發布時間: 2021-03-14 18:08:10

⑴ 設有一個順序棧S,元素A,B,C,D,E,F依次進棧如果六個元素出棧的順序是B,D,C,F,E,A

棧的元素按時間分別是

A->AB->A->AC->ACD->AC->A->AE->AEF->AE->A
所以棧的容量至少應是3

⑵ 用順序棧實現迴文完整的程序編寫

/**
* 判斷是否是迴文對
*/
public static boolean judge(final String str){

Stack stack = new Stack();
int length =str.length()/2;
char[] ch=str.toCharArray();
//一半的元素入棧
for(int i=0;i<length;i++){
stack.push(ch[i]);
}
//根據字元串長度的奇偶決定比較開始的位置
int pos=0;
if(str.length()%2==0){
pos=length;
}else{
pos=length+1;
}
//將棧中的元素和字元串中的另一半內比較
while(!stack.empty()){
char temp=(Character) stack.pop();
if(temp!=ch[pos++])
return false;
}
return true;

}

⑶ 多棧共享的實現數據結構課程設計(採用順序存儲結構實現多棧共享,要求模擬完成進棧、出棧等過程。)

可以寫主題啊

⑷ 設有一個順序棧s

選B.理由:s1進棧,s1出棧;s2,s3進棧,s3出棧;s4進棧,s4,s2出棧;s5,s6進棧,s6,s5出棧.

⑸ 順序棧-簡單的實現

函數功能沒問題 不過你的調用和你的列印描述對不上 而且你沒有列印任何的數值出來

把main中的內容修改成這樣


	ElemTypeval;
SqStackS;
InitStack(S);
PushStack(S,1);
PushStack(S,2);
PushStack(S,3);
PushStack(S,4);
TrasverStack(S);
GetTop(S,val);
cout<<"棧頂元素為"<<val<<endl;
cout<<"出棧"<<endl;
PopStack(S,val);
cout<<"出棧元素"<<val<<endl;
cout<<"棧的長度為"<<lengthStack(S)<<endl;

return0;

⑹ 用順序棧設計實現堆棧,堆棧操作集合包括初始化,判斷棧空,入棧,出棧,取棧頂元素等。。 求解

typedef struct
{
int top
int data[maxsize]
}stack
int isempty(stack *s)
{
if(s->top=0)
return 1
else return 0
}
int push(stack *s,x)
{
if(s-top==maxsize)
return 0
s->data[++s->top]=x
return 1
}
void pop(stack *s,int *x)
{
if(isempty(s))
return 0
*x=s->data[s->top--]
return 1
}
int gettop(stack *s,int *x)
{
if(isempty(s))
return 0
*x=s->data[s->top]
return 1
}
純手打,請忽視語法錯誤

⑺ 數據結構的順序棧的要點和難點是什麼...

線性表的結構特點
線性表的順序存儲方式及其查找、插入、刪除運算實現
線性表的鏈式存儲方式及其查找、插入、刪除運算實現
線性表的順序存儲及鏈式存儲情況下其不同的優缺點比較
線性鏈表的合並與拆分

⑻ 基於順序棧的簡單算起術表達式求值課程設計

設計一個程序,演示用算符優先法對算術表達式求值的過程。
利用算符優先關系,實專現對算術四則混合運算屬表達式的求值。 (1)輸入的形式:表達式,例如2*(3+4) 包含的運算符只能有'+' 、'-' 、'*' 、'/' 、'('、 ')'; (2)輸出的形式:運算結果,

⑼ 數據結構 順序棧

樓主你好,棧的基本運算有6種
(1)InitStack(S):構造一個空棧
(2)StackEmpty(S):判斷棧空,空返回true,否則為false
(3)StackFull(S):判斷棧滿,滿返回true,否則為false
(4)Push(S,x):若棧不滿將x插入到棧頂
(5)Pop(S):退棧,若棧非空,將棧頂元素刪去,並返回該元素.
(6)StackTop(S):取棧頂元素。若棧非空,返回棧頂元素,但不改變棧的狀態。
#include <stdio.h>
#define StackSize 10
typedef int DataType;
typedef struct{
DataType data[StackSize];
int top;
}SeqStack;
void InitStack(SeqStack *S){ //初始化棧
S->top=-1;
}
int StackEmpty(SeqStack *S){//判棧空
return S->top==-1;
}
int StackFull(SeqStack *S){//判棧滿
return S->top==StackSize-1;
}
void Push(SeqStack *S,DataType x){//進棧
if(StackFull(S)){
printf("Stack overflow!");
exit(1);
}
S->data[++S->top]=x;
}
DataType Pop(SeqStack *S){//出棧
if(StackEmpty(S)){
printf("Stack underflow!");
exit(1);
}
return S->data[S->top--];
}
DataType StackTop(SeqStack *S){//取棧頂元素
if(StackEmpty(S)){
printf("Stack is empty");
exit(1);
}
return S->data[S->top];
}
void main(){
int i;
SeqStack S;
InitStack(&S);
for(i=0;i<StackSize;i++)
Push(&S,i);
for(i=StackSize-1;i>=0;i--)
printf("%d ",Pop(&S,i));
}
設計要點:
(1):建立一個結構體作為順序棧的類型;
(2):理解棧的6種操作;
(3):避免上溢和下溢的發生。
希望能夠幫助到你。

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919