请计算机高手回答,为什么《数据结构》和中的C算法原码,不能在C语言中运行呢,应该怎么做才可以呢?谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:08:10
RT
还有《操作系统》中的也是如此,很明显是用C编的,却不能执行
本人现在自学,谢谢高手指点
比如说书上最简单的一个例子,书中最简单的构造一个空的线性表L为InitList(&L);但输入TURBO C之后却报错,这是为什么?

这类教材它们的目的是讲解算法思想,所以代码都是伪代码,也就是说是简写的代码,许多地方都是为了书写方便简写了,比如数组整体拷贝,它可能就用a[1..n]->b[1..n]代替了,但你要写的话,还是必须写上
for(int i=1;i<=n;i++) b[i]=a[i];

很多不是伪代码,这个可以保证。但却是是为了说明算法的。
所以很多程序只能算是一个程序片段,即只是实现算法的部分。大部分程序都需要在程序开头导入一些包(Java中称为类库)。如果缺乏这些包,程序中的某些方法在执行时,就会报错,不能执行。
另外,C++和C的代码差不多,有可能是C++的程序...
我也是学软件的,这行很累人,要下苦功才行。祝楼主再接再厉!

大部分是为了解说算法思想而写的伪代码~并不是严格按照C的标准
因为标准C库函数里面并没有构造一个空的线性表L为InitList(&L)
这样的函数
你要自己写一个才能用~

有的是伪代码,有的只是代码节选,所以照搬的话是不能直接运行的
所以要去理解代码,伪代码化为代码,缺少的变量定义,方法定义都要补齐才能运行。
所以,能够自己将书上的代码化为能够运行的代码,是看你有没有理解这种算法的一个基础标准。

表面上是C语言,是因为C语言比较活泼,C语言的语句比较少,你所见到的语句其实在C语言中可以运行的,但是由于函数和其他的东西没有,所以就不能执行了。

这个如果是用的老软件,很多新函数不能用,最还用C++