sqstack和stack有什么区别都是什么意思

一、主体不同

1、sqstack:指顺序栈,指利用顺序存储结构实现的栈。

2、stack:又名堆栈,它是一种运算受限的线性表。

二、数据操作不同

1、sqstack:用地址连续的存储空间(数组)依次存储栈中数据元素,由于入栈和出栈运算都是在栈顶进行,而栈底位置是固定不变的,可以将栈底位置设置在数组空间的起始处。

2、stack:按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。


三、特点不同

1、sqstack:利用内存中的一片起始位置确定的连续存储区域来存放栈中的所有元素,另外为了指示栈顶的准确位置,还需要引入一个栈顶指示变量top。

2、stack:允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。


参考资料来源:百度百科-栈

参考资料来源:百度百科-顺序栈



sqstack是顺序栈就是顺序排列的栈与顺序表类似为顺序存储结构,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,而stack它分为链表和顺序栈几种呢总之栈主要的是顺序栈一般的说栈就是。
指顺序栈的但也有特殊的用到链表式的栈(链式的栈是利用链式存储数据的结构,用一个线性链表来存储栈中的数据元素)各有各的好处

他说的有错误,顺序存储结构不能直接说成顺序栈,顺序栈是一种可能特殊的顺序存储结构,后进先出,希望楼主用词准确一些,否则会给初学者带来更大的疑惑

顺序存储结构简称为顺序栈。和顺序表类似,对顺序栈也需要事先为它分配一个可以容纳最多元素的存储空间。

链栈即为栈的链式存储结构。

顺序栈:栈以顺序存储的结构,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。
code:
typedef int DataType;//自定义的数据类型

class Stack_Array //顺序栈
{
private:
int top;
int max_size;
DataType *vec; //指向自定义数据类型的指针
public:
Stack_Array(int size)
{
vec = new DataType[size];
top = -1;
max_size = size;
}
~Stack_Array()
{
delete [] vec; //此处记得加上[],因为是数组
}
void push(DataType x)
{
if (top==(max_size-1))
{
cout<<"up overflow!";
}
vec[++top] = x;
}
DataType pop()
{
if (top==-1)
{
cout<<"under overflow";
}
return vec[top--];
}
};

链栈:栈的链式存储结构,利用一个线性链表来存储栈中的数据元素。
code:
typedef int DataType;
typedef struct ListNode
{
ListNode *next;
DataType data;
}ListNode_t;

class Stack_list//链栈
{
private:
ListNode_t *top;//指向链结点的指针
public:
Stack_list()
{
top = NULL;
}
~Stack_list();
void push(DataType x)
{
ListNode_t *temp = new ListNode_t;
temp->next = top;
temp->data = x;
top = temp;
}
DataType pop()
{
DataType x;
ListNode_t *temp;
if (top != NULL)
{
temp = top;
top = top->next;
x = temp->data;
delete temp;//此处记得释放
return x;
}
return NULL;
}
};

数据结构中sqstack(&s)和sqstack(s)有什么区别

sqstack(&s),应该是函数的定义。其中&s作为函数的形参,&s是s的引用。关于引用你可以百度一下。
而sqstack(s),是调用函数,s是实参。
比如:定义函数 void sqstack(&s) { }//这是在定义函数
下面在main中调用此函数:int main( ){ ...,sqstack(s),....,return(1);}

&S是引用,S和传入的形参变量共用同一个存储空间,相当于别名。
*S是指针,S是指针变量,它是有自己的存储空间的,只是它的存储空间存的是形参变量的地址。


stack和sqstack有什么不同?
1、sqstack:指顺序栈,指利用顺序存储结构实现的栈。2、stack:又名堆栈,它是一种运算受限的线性表。二、数据操作不同 1、sqstack:用地址连续的存储空间(数组)依次存储栈中数据元素,由于入栈和出栈运算都是在栈顶进行,而栈底位置是固定不变的,可以将栈底位置设置在数组空间的起始处。2、stack...

数据结构:为什么有的括号内形参有的是SqStack S而有的是SqStack &S...
首先,SqStack是顺序栈的含义,&S表示的是形参,而S表示的是实参,&S是S的引用。这与函数有关,例如:void OutList(SqStack S){ \/\/ 输出栈元素 S.top = S.base;for(int i=0;i<length;i++){ printf("%d\\t",*(S.top)++);} printf("\\n"); \/\/这是定义函数 请参考C语言函...

数据结构中sqstack(&s)和sqstack(s)有什么区别
sqstack(&s),应该是函数的定义。其中&s作为函数的形参,&s是s的引用。关于引用你可以百度一下。而sqstack(s),是调用函数,s是实参。比如:定义函数 void sqstack(&s) { }\/\/这是在定义函数 下面在main中调用此函数:int main( ){ ...,sqstack(s),...,return(1);} ...

在数据结构中(C语言描述),这个是什么意思?求分析
int stacksize;的对象,例如SqStack a;a中就包含顶点指针 *top,底指针*base,和结构体长度 stacksize。栈就是一个空间,相当于又结构体累加起来的一个空间,结构体定义的指针用来在栈上寻找操作数。

...InitStack(SqStack &S)与int InitStack(SqStack *S)有什么区别...
&S是引用,S和传入的形参变量共用同一个存储空间,相当于别名。S是指针,S是指针变量,它是有自己的存储空间的,只是它的存储空间存的是形参变量的地址。

数据分析中的c.r.是什么意思?
C.R.是临界比

s=(Stack)malloc(sizeof(sqstack));什么意思
调用malloc()函数分配一块不小于sizeof(sqstack)个字节的连续空间,并将这段空间的首地址显式转换为Stack类型后赋予变量s。易懂的解释就是动态创建一个Stack类型的变量s

其中的if(S.top-S.base >S.stacksize)是什么意思啊?
栈满,追加存储空间

...struct student{ int *top;int *base;int stacksize;} sqstack...
这个语句的意思就是定义了一个结构体,结构体中有指向栈顶的top指针,指向栈底的base指针以及栈的大小的stacksize变量。而后面的的sqstack就是具体的一个结构体名,这个sqstack上面这个结构体的所有成员变量。就类似于int a,只不过把int换成了struct,把a换成了sqstack而已。

...InitStack(SqStack &S);两个语句有什么区别
status应该是自定义的一个类型别名,估计原型是bool。这么做是为了方便的表示返回值是一个状态。