《数据结构》同学做的作业大家来讨论:顺序栈的实现

一位学生尝试自行实现顺序栈的数据结构,并分享了其代码。本文邀请读者从方法的合理性及算法准确性两方面进行讨论,旨在帮助理解栈的运作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     下面是一个同学的顺序栈的实现代码,这位同学没有按照课本的方法来写,按自己的理解写了一个程序,对这位同学的尝试表示赞,同时,也推荐大家可以自己写出符合相应数据结构的算法程序。

      当然,这位同学做的还有很多不合理的地方面,所以请大家上来讨论一下。希望 大家积极发言热烈讨论。对积极表示意思者,将会奖励!

    请大家主要从:方法合理科学否?和 算法有无错误两个方面来讨论吧。

            

                                                                                                             同学作业链接:http://blog.youkuaiyun.com/lvhaohang/article/details/40377859

#include<iostream>
using namespace std;
class sqstack
{
private: 
  int top; 
  int maxsize; 
  int *elem;
public:
  sqstack(int size) {maxsize=size; elem=new int[maxsize];  top=0; } 
  ~sqstack(){delete []elem;} 
  int length();
  bool empty(){return top==0;} 
  void push(int e); 
  void pop(int &e); 
  void display();
};
int sqstack::length()
  {    return top; }
void sqstack::push(int e)
  { elem[top++]=e;    }
void sqstack::pop(int &e)  
  { if (!empty())    {e=elem[--top];    ; }}
void sqstack::display(){ for(int i=top-1;i>=0;i-- ) 
{  cout<<elem[i] <<"  "; } cout<<endl;}
int main()
{ int i,x,e; sqstack a(100); 
cout<<"输入要建立栈的长度:"<<endl; 
cin>>x; 
for(i=1;i<=x;i++) 
{cout<<"请输入要入栈的"<<i<<"个数据:"<<endl; 
cin>>e; 
a.push (e); } 
cout<<"显示队栈中的元素为:"<<endl; 
a.display (); 
cout<<"输入出栈元素个数:"; 
cin>>x;   
 cout<<"出栈元素为:";
 for(i=1;i<=x;i++) {a.pop (e);  cout<<e<<"  "; } 
cout<<endl;   
 cout<<"显示栈中的剩余元素为:"<<endl; 
a.display ();
 return 0;}


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值