当前位置:首页 » 课程大全 » 顺序栈的课程设计

顺序栈的课程设计

发布时间: 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