本文目录一览:
C语言数据结构与算法:链表
先搞清楚基本概念,不懂再问
// 返回一个带头结点的且具有五个结点的链表
link *initLink()
{
link * p=(link*)malloc(sizeof(link)); // 创建头结点
link * temp=p; // 使用变量temp在下面创建结点时指向链表末端
for(int i=1; i5; i++)
{
link *a=(link*)malloc(sizeof(link)); // 创建一个结点
a-elem=i; // 为结点赋值
a-next=NULL; // 指针域暂时赋为NULL,若后面还要创建结点的话再修改
temp-next=a; // 因为temp指向链表末端,即最后一个结点
// 故该节点指针域应指向刚才创建的结点 a
temp=temp-next;// 连接好以后,temp指向下一个结点(刚才创建的结点a,现在是链表末端)
}
return p; // 返回头结点
}
数据结构算法与c语言的关系?
C语言是工具,数据结构是基础,算法是核心且有难有易,初级的编程只要懂编程语言和一般算法即可,至于数据结构可作一般了解;中级的编程要对数据结构和算法有深入的理解和掌握;高级的编程就需要完全理解各种数据结构以及自己编写算法了!不过现在的很多程序员都是在中级阶段的居多吧!
C语言与算法和数据结构分别有什么关系?
数据结构的主要作用是帮助你提升自己的编程思维!使你编写程序的时候有一个好的思维和框架!使你写的代码和程序有一个好的框架!数据结构研究的是数据的逻辑结构、存储结构(物理结构)和数据的运算.其中的数据运算就是指算法
算法只是具体的实现步骤的指令集合!但是算法也是数据结构最重要的一部份!设计一个好的算法可以提高自己程序的运行效率!(算法不一定要求能够在计算机上直接运行,但程序必须要求能在计算机中运行)
C语言只是对算法或者数据结构的描述!描述数据结构和算法不局限于C语言,也可以是C++语言和其他的计算机语言甚至也可以用人的自然语言!
所以只是说学习好C语言能够使自己学习的数据结构理论更好的在计算机中描述和表达!
推荐学C语言数据结构和算法的书籍!
数据结构一般都会开这门课,国内的我看的《数据结构》
严蔚敏的。算法就是《算法导论》了,要不你看Clifford
A.Shaffer
的《数据结构与算法分析》也可以,都不错。还有个《计算机程序设计艺术》(The
Art
Of
Computer
Programming)也是经典,觉得差不多了可以看看这个。