回 帖 发 新 帖 刷新版面

主题:有关数据结构的表达方式

初学数据结构,觉得线性表(栈和队列)在本质上都是比较简单的,因为在C语言课程中已经接触过。但是我觉得数据结构的表达方法很变扭。比如某个程序的部分是如下:
/*栈操作函数*/
int InitStack(Stack &S); /*创建栈*/
int DestroyStack(Stack &S); /*销毁栈*/
int ClearStack(Stack &S); /*清空栈*/
int GetTop(Stack S, SNode &e); /*取出栈顶结点并返回节点值*/
int Push(Stack &S,SNode e); /*将结点e压入栈*/
int Pop(Stack &S,SNode &e); /*删除栈顶结点并返回其节点值*/
而我本人编程的话就如下:
#include <stdio.h>
struct number{
    double t;
    struct number *prior;
}*nhead,*ntail;
struct symbol{
    char c;
    struct symbol *prior;
}*shead,*stail;
void main(){
    printf("\nplease input a arithmetic expression:\n");
    。。。。。。(省略)
}
总觉得有点不一样。。。。

回复列表 (共6个回复)

沙发

想请大家谈些看法

板凳

没看懂
你究竟觉得哪里别扭

3 楼

知道是怎么回事了,一般他们就是建堆栈就搞个函数,我都是直接写的。貌似我的编程风格不是很好,他们那种叫结构化编程。可是我怎么就觉得函数跳来跳去的,反而使程序运行的顺序搞乱了。。。。

4 楼

坦率地说
我认为
“直接写”的编程风格的确不好
这种风格一般是学习编程的初级境界
通常是在一个main()中一口气写到底
或者是没有任何节制地使用全局变量

你在顶楼写的不全
那种写法
你应该发现main()以及各个函数的思想都很简洁明了

我认为不但“建堆栈就搞个函数”
实际上“完成任何一个小功能”都应该搞个函数

你觉得“反而使程序运行的顺序搞乱了”
可能是因为你面对的问题相对比较简单的缘故



5 楼

实际上
恰恰是函数使代码更有条理
更容易保证正确
更容易修改
更容易维护

6 楼

引用:

5 楼  
实际上
恰恰是函数使代码更有条理
更容易保证正确
更容易修改
更容易维护
     反正好,不需要理由~

我来回复

您尚未登录,请登录后再回复。点此登录或注册