c programming for engineers data structure object
play

C Programming for Engineers Data Structure & Object Oriented - PowerPoint PPT Presentation

C Programming for Engineers Data Structure & Object Oriented Programming ICEN 200 Spring 2018 Prof. Dola Saha 1 Data Structures Weve studied fixed-size data structures such as single- subscripted arrays, double-subscripted


  1. C Programming for Engineers Data Structure & Object Oriented Programming ICEN 200– Spring 2018 Prof. Dola Saha 1

  2. Data Structures Ø We’ve studied fixed-size data structures such as single- subscripted arrays, double-subscripted arrays and structs. Ø This topic introduces dynamic data structures with sizes that grow and shrink at execution time. § Linked lists are collections of data items “lined up in a row”—insertions and deletions are made anywhere in a linked list. § Stacks are important in compilers and operating systems—insertions and deletions are made only at one end of a stack—its top. § Queues represent waiting lines; insertions are made only at the back (also referred to as the tail) of a queue and deletions are made only from the front (also referred to as the head) of a queue. § Binary trees facilitate high-speed searching and sorting of data, efficient elimination of duplicate data items, representing file system directories and compiling expressions into machine language. 2

  3. Linked List Ø Linked lists are collections of data items “lined up in a row”— insertions and deletions are made anywhere in a linked list. Ø Linear Linked List Ø Doubly linked list Ø Circular linked list 3

  4. Stacks Ø Stacks are important in compilers and operating systems— insertions and deletions are made only at one end of a stack—its top. Ø Stack is referred to as LIFO (last-in-first-out). Ø PUSH Ø POP 4

  5. Stack – PUSH & POP topPtr topPtr topPtr . . . 8 . 5 5 . . 5 . 2 2 . . 2 . … … … 3 3 3 POP PUSH 5

  6. Queues Queues represent waiting lines; insertions are made only at the back Ø (also referred to as the tail) of a queue and deletions are made only from the front (also referred to as the head) of a queue. Used in networking when packets are queued to move from one layer to Ø another. Enqueue Ø Dequeue Ø 6

  7. Trees A tree is a nonlinear, two-dimensional data structure with special Ø properties. Tree nodes contain two or more links. Ø Binary trees facilitate high-speed searching and sorting of data, efficient Ø elimination of duplicate data items, representing file system directories and compiling expressions into machine language. 7

  8. Self Referencing Structures Ø A self-referential structure contains a pointer member that points to a structure of the same structure type. Ø Example: o struct node { int data; struct node *nextPtr; }; defines a type, struct node . Ø A structure of type struct node has two members— integer member data and pointer member nextPtr . 8

  9. Linked List graphical representation 9

  10. Insert a node in order in a list 10

  11. Insert a node – C code 11

  12. Delete a node from list 12

  13. Delete a node – C code 13

  14. Evolution of computers Ø Early computers were far less complex than today’s computers Ø Modern computers are smaller, but more complex 14

  15. Objects Ø Computer scientists have introduced the notion of objects and object-oriented programming to help manage the growing complexity of modern computers. Ø Object is anything that can be represented by data in computer’s memory 15

  16. Properties Ø The data that represent the object are organized into a set of properties . Name : PA 3794 Owner : US Airlines Ø The values stored in an Location : 39 52′ 06″ N 75 13′ 52″ W object’s properties at any Heading : 271° one time form the state of Altitude : 19 m an object. AirSpeed : 0 Make : Boeing Model : 737 Weight : 32,820 kg 16

  17. Methods Ø In object-oriented programming, the programs that manipulate the properties of an object are the object’s methods . Ø We can think of an object as a collection of properties and the methods that are used to manipulate those properties. 17

  18. Class Ø A class is a group of objects with the same properties and the same methods. Class <CAR> Object Object Object <7_series_BMW> <Ford_Mustang> <VW_Beetle> 18

  19. Instance Ø Each copy of an object from a particular class is called an instance of the object. Ø The act of creating a new instance of an object is called instantiation. Ø Two different instances of the same class will have the same properties, but different values stored in those properties. 19

  20. Terminology Object Property The same terminology is used Instantiation in most object-oriented Method programming languages. Class Instance State 20

  21. First OOP in C++ 21

  22. Access Specifier: Public & Private Ø Keyword public or private is an access specifier. Ø Access specifiers are always followed by a colon (:) Ø Public: Ø Accessible to public—that is, it can be called by other functions in the program (such as main), and by member functions / methods of other classes (if there are any). Ø Private: Ø Accessible only to member functions / methods of the class for which they are declared. 22

  23. Passing value 23

  24. Example object with properties & methods (1) 24

  25. Example object with properties & methods (2) 25

  26. Example object with properties & methods (3) 26

  27. Constructor and Destructor Ø A constructor is a special function that gets called automatically when the object of a class is created. Ø A destructor is a special function that gets called automatically when an object is deleted. 27

  28. Constructor Example 28

  29. Constructor Example 29

  30. Constructor Example 30

  31. Separate Function definition & declaration 31

  32. Separate Function definition & declaration 32

  33. Separate Function definition & declaration 33

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend