我需要在 VC++ 中做一个 home assignment,它使用 ADT 在一个整数列表上做几个操作。目前,我们不允许使用类,所以我需要使用struct
.
我不太了解 ADT 是如何工作的,所以我不确定从哪里开始,因为互联网上的所有教程都使用类,我不想这样做。
那么网上是否有任何教程:1.解释抽象数据类型的概念和2.提供实现示例(最好用C++而不是使用class
,struct
而是)。
我需要在 VC++ 中做一个 home assignment,它使用 ADT 在一个整数列表上做几个操作。目前,我们不允许使用类,所以我需要使用struct
.
我不太了解 ADT 是如何工作的,所以我不确定从哪里开始,因为互联网上的所有教程都使用类,我不想这样做。
那么网上是否有任何教程:1.解释抽象数据类型的概念和2.提供实现示例(最好用C++而不是使用class
,struct
而是)。
我会尝试一个更符合我理解的答案。
我对此的“实际”理解是:有一些由对象、其变量(或数据)以及在该对象上定义的操作定义的对象的概念。对于您的情况,对象是整数列表。操作类似于insert a new integer
、remove an integer
等get the number of integers stored in the list
。实现此数据类型时,您必须将此操作编写为函数。要提供此功能,您必须构建一些结构来保存要操作的数据。
好吧,我不会做你的作业,所以我会做一些伪代码:
struct ListElement {
int value;
type NextElement; //i leave the type to you
};
void insertBehind(ListElement &element, int newValue)//this is one way to do this
{
ListElement newElement(newValue); //create the new element (use new instead, don't want to "spoiler" the type to you)
newElement.nextElement = element.nextElement; //set the next element of this new one
element.NextElement = newElement; //set the new element
}
...