连击 天
fork: star:
1、修改程序17.2,使其即能以正序又能以逆序显示电影列表。一种方法是修改链表定义以使链表能被双向遍历;另一种方法是使用递归。 #include <stdio.h> #include <stdlib.h> #include <strin...
现在已经有了接口和函数实现,我们来使用它们。 程序示例使用菜单来选择向俱乐部成员花名册添加宠物、显示成员列表、报告成员数、核查成员及退出。函数main()很简单,它集中于实质性问题的概...
下面给出完整的tree.c代码。tree.h和tree.c共同组成树程序包。 tree.c实现文件 /*tree.c --树类型的支持函数*/ #include <stdio.h> #include <string.h> #include <stdlib.h> #include "tre...
下面的任务是实现tree.h中描绘的伟大的函数。InitializeTree()、EmptyTree()、FullTree()和TreeItems()函数比较简单,与列表和队列抽象数据类型中的同类函数差不多。我们重点讨论其余...
第一部分ADT 和 接口 二叉搜索树是一种结合了折半搜索策略的链接结构。 树中的每一个节点都包含一个项目和两个指向其他节点的(称为子节点,child node)指针。这种构思是每个节点都有两个子...
很多编程问题,比如创建一个列表或队列,可以用链表(一个动态分配的结构序列链)或数组来表示。每种形式都有其优势和缺点,所以要根据具体问题的需求来决定选择哪种形式。表17.3总结了链表和...
前一章节讲的队列现在可以使用了。很多现实生活中的情形都包含队列。例如,在银行或超级市场的顾客队列,在机场的飞机队列,多任务计算机系统上的任务队列等。可以用队列包来模拟这些情形。 ...
正如您看到的,用抽象数据类型方法进行C语言编程包含下面三个步骤: 1、以抽象、通用的方式描述一个类型,包括其操作; 2、设计一个函数接口来表示这种新类型; 3、编写具体代码以实现这个接...
在电影的例子中,数据形成了一个项目列表,其中每一项包含一个片名(C的字符串)和等级(int值)。C中没有符合这个需求的基本类型,所以需要定义一个结构来表示每个项目,然后设计一此方法来...
您可能会希望可以不确定的添加数据(或者不断添加数据,直到程序内存用完为止),而不用事先指定您会输入多少个项目,也不用让程序分配不必要的大块内存。这一点可以通过在输入每个项目之后调...
假设您需要创建一个地址薄程序。您将使用何种数据形式来存储信息?因为与每个项目相关的信息有很多类别,所以用一个结构来表示每一个项目显得很适合。如何表示多个项目?是标准的结构数据、动...
我们将从研究程序设计的关键部分,即程序表示数据的方式入手。 您已经了解到C的内建数据类型:简单变量、数组、指针、结构以及联合。 但是,寻找正确的数据表示方式不仅仅是选择一种数据类型...
1、开发一个包含您需要使用的预处理器定义的头文件。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include "mylib.c" #define MAX 12 #define SUMSQ(x,y)((x)*(x)+(y)...
本章前面讨论了可变宏,该宏接受可变个数的参数。 头文件stdarg.h为函数提供了类似的能力。不过使用方法稍微复杂一些。必须按如下步骤进行: 1、在函数原型中使用省略号; 2、在函数定义中创...
由头文件assert.h支持的诊断库是设计用于辅助调试程序的小型库。它由宏assert()构成。该宏接受整数表达式作为参数。如果表达式值为假(非零),宏assert()向标准错误流(stderr)写一条错误消...
最初并没有官方的C库,后来,基于UNIX的C实现变成了事实上的标准。于是ANSI C 委员会主要以这个标准为基础开发了一个官方标准库。认识到C的应用范围不断扩展后,该委员重新定义了这个库,以使...
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定删除此文章吗?
动弹删除后,数据将无法恢复
评论删除后,数据将无法恢复