0

我需要在 VC++ 中做一个 home assignment,它使用 ADT 在一个整数列表上做几个操作。目前,我们不允许使用类,所以我需要使用struct.

我不太了解 ADT 是如何工作的,所以我不确定从哪里开始,因为互联网上的所有教程都使用类,我不想这样做。

那么网上是否有任何教程:1.解释抽象数据类型的概念和2.提供实现示例(最好用C++而不是使用classstruct而是)。

4

1 回答 1

1

我会尝试一个更符合我理解的答案。

  1. 什么是抽象数据类型?总是我的第一枪:看看http://en.wikipedia.org/wiki/Abstract_data_type

我对此的“实际”理解是:有一些由对象、其变量(或数据)以及在该对象上定义的操作定义的对象的概念。对于您的情况,对象是整​​数列表。操作类似于insert a new integerremove an integerget the number of integers stored in the list。实现此数据类型时,您必须将此操作编写为函数。要提供此功能,您必须构建一些结构来保存要操作的数据。

  1. 提供一个实施的例子。

好吧,我不会做你的作业,所以我会做一些伪代码:

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
}

...
于 2012-04-08T23:01:49.350 回答