摘要:Product表示产品,ProductList表示产品目录,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。
请完善类Order的成员函数getOrderedAmount()和类SalesSystem的statistic()方法,各个类的属性及部分方法定义参见下面的C++代码。
阅读全文
随笔分类 - 数据结构与算法基础
摘要:一般的树结构常采用孩子-兄弟表示法表示,即用二叉链表作树的存储结构,链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。例如,图 5-1(a) 所示的树的孩子-兄弟表示如图 5-1(b)所示。
阅读全文
摘要:C++语言本身不提供对数组下标越界的判断.为了解决这一问题,在程序6中定义了相应的类模板,使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息.
阅读全文
摘要:求二叉树的深度的C算法如下int Height(BiTree T){ int m,n; if(!T) return(0); else m=Height(T->lchild); n=Height(T->rchild); return((m>n?m:n)+1); }
阅读全文
摘要:现欲构造一个文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如下:C++代码为: 1 #include <list> 2 #include <iostream> 3 #include <string> 4 5 using namespace std; 6 7 class AbstractFile { 8 protected: 9 string name; /*文件或目录名*/10 public:11 void printName() {cout<<name<<endl;} /*打印文件或目录名称*/12 virt
阅读全文
摘要:栈是限定仅在表尾进行插入或删除操作的线性表。
栈的表尾称为栈顶,表头称为栈底,不含元素的空表称为空栈。
阅读全文
摘要:栈是限定仅在表尾进行插入或删除操作的线性表。
栈的表尾称为栈顶,表头称为栈底,不含元素的空表称为空栈。
阅读全文
摘要:几乎所有的程序设计语言都把数组类型设定为固有类型。
以抽象数据类型的形式讨论数组的定义和实现,可以让我们加深对数组类型的理解。
阅读全文
摘要:串(或字符串),是由零个或多个字符组成的有限序列。一般记为:
s='a1a2...an'(n>=0)
其中s是串的名,用单引号括起来的字符序列是串的值;串中字符的数目n称为串的长度。零个字符的串称为空串,它的长度为零。
阅读全文
摘要:#include
#include
#define smax 45
typedef int datatype;
阅读全文
摘要:队列是一种先进先出的线性表。它只允许在表的一端进行插入,而在另一端删除元素。象日常生活中的排队,最早入队的最早离开。
在队列中,允许插入的的一端叫队尾,允许删除的一端则称为队头。
阅读全文
摘要:为了节省存储单元,可只存储非零元素。由于非零元素的分布一般是没有规律的,因此在存储非零元素的同时,还必须存储非零元素所在的行号、列号,才能迅速确定一个非零元素是矩阵中的哪一个元素。稀疏矩阵的压缩存储会失去随机存取功能。
阅读全文
摘要:当用二叉链表作为二叉树的存储结构时,因为每个结点中只有指向其左、右儿子结点的指针,所以从任一结点出发只能直接找到该结点的左、右儿子。在一般情况下靠它无法直接找到该结点在某种遍历序下的前驱和后继结点。如果在每个结点中增加指向其前驱和后继结点的指针,将降低存储空间的效率。
阅读全文
摘要:#include "stdio.h"
typedef char ElemType;
typedef struct BiTNode{
ElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode;
阅读全文
摘要:广义表,顾名思义,它也是线性表的一种推广。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP 语言的程序也表示为一系列的广义表。
阅读全文