Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor...

12
Lists Lecture 16 Fri, Mar 3, 2006

Transcript of Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor...

Page 1: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

Lists

Lecture 16

Fri, Mar 3, 2006

Page 2: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

Topics

Lists List ADT

Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions

Page 3: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

Lists

A list is an ordered set of elements

{a1, …, an}

The indexing begins at 1, not 0. The elements ai may be of any type.

But they must all be of the same type. The structure is homogeneous.

A list is a generalization of an array.

Page 4: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: List Attributes

A list has a size elements a1 through asize.

Page 5: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: Constructors

Constructors

List();List(int sz);List(int sz, const T& value);List(const List& lst);

Page 6: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: Destructor

Destructor

~List();

Page 7: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: Inspectors

Inspectors

T& getElement(int pos) const;int size() const;bool isEmpty() const;

Page 8: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: Mutators

Mutators

void setElement(int pos, const T& value);void insert(int pos, const T& value);void remove(int pos);void makeEmpty();

Page 9: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: Mutators

Additional Mutators

void pushFront(const T& value);void pushBack(const T& value);T popFront();T popBack();

Page 10: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: Facilitators

Facilitators

void input(istream& in);void output(ostream& out) const;

Page 11: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: Operators

Operators

List& operator=(const List& lst);T& operator[](int pos);

Page 12: Lists Lecture 16 Fri, Mar 3, 2006. Topics Lists List ADT Attributes Constructors Destructor Inspectors Mutators Facilitators Operators Other List Functions.

List ADT: Other Member Functions

Other Member Functions

void swap(List& lst);int search(const T& value) const;void sort();bool isValid() const;